F# and OpenSilver v2.0 (Continued)
An update to the previous series of posts.
Building while NuGet
ting
While I stand by my assertion that the previous post showed the simplest way to build (by not using NuGet to get the package, but referencing the key assembly the old-fashioned way) here is how to build with OpenSilver 2.0.1 as a NuGet reference. First, add properties
<SkipXamlPreprocessor>true</SkipXamlPreprocessor> <OpenSilverGenerateAssemblyInfo>false</OpenSilverGenerateAssemblyInfo>
then if there isn't already a $(ProjectName).OpenSilver.XamlDesigner.fs
file in the root of the project (generated there by the OpenSilver compiler taking some untested path before it was switched off), it should look like this:
// <auto-generated> // Generated by the FSharp WriteCodeFragment class. // </auto-generated> namespace FSharp open System open System.Reflection [<assembly: System.Runtime.CompilerServices.InternalsVisibleTo("XamlDesignerBackground")>] do()
added with Compile Action of None
, and then see it's copied into the appropriate place by
<Target Name="FixUp" BeforeTargets="BeforeCompile;CoreCompile"> <ItemGroup> <MisgeneratedFiles Include="$(ProjectName).AssemblyInfo.OpenSilver.XamlDesigner.fs"/> </ItemGroup> <Copy SourceFiles="@(MisgeneratedFiles)" DestinationFolder="$(IntermediateOutputPath)" /> </Target>
Publishing less
In the browser project, rather than enabling AOT, which saves time, and not space, have properties
<SatelliteResourceLanguages>en</SatelliteResourceLanguages> <BlazorEnableCompression>false</BlazorEnableCompression> <!-- Uncomment to enable AOT compilation when publishing --> <!--<RunAOTCompilation>true</RunAOTCompilation>-->
and it doesn't hurt to switch of satellites in the Presentation project, either.
That takes us from
to