Search code examples
f#assembly-binding-redirect

F# PowerPack Target Runtime


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?


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>