Question

The pre-built binaries for the F# PowerPack are compiled against the .NET 2.0 runtime. If I have a .NET 4.0 project, is there any advantage to compiling the PowerPack source for the .NET 4 runtime?

Was it helpful?

Solution

I used .NET 2.0 version of F# PowerPack in F# snippets web site, which is a .NET 4.0 ASP.NET project. The only disadvantage of not using 4.0 version was that I had to add configuration to load 4.0 version of FSharp.Core.dll when looking for 2.0 version (which is referenced by the 2.0 version of PowerPack).

I had to add something like the following and then it worked just fine:

<configuration>
  <!-- ... -->
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
      <assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" />
      <bindingRedirect oldVersion="2.0.0.0" newVersion="4.0.0.0" />
    </dependentAssembly>
  </assemblyBinding>
  </runtime>
</configuration>

OTHER TIPS

My app.config for older .NET is

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
  </startup>
</configuration>

but power pack installs and works well on VS2010 and .NET4 fsproj

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top