FSharp.Core versioning is quite confusing, because it doesn't match between the version of the NuGet package and the version of the assembly it contains. Hopefully this will be fixed in upcoming versions, but for now it's still a mess.

In short, the assemblies have a leading "4" that indicates that they're built for .NET 4.x, so the 4.1.x and 4.2.x NuGet packages contain the 4.4.1.0 assembly, and the 4.3.x NuGet packages contain the 4.4.3.0 assembly.

So what you need to do is either downgrade to FSharp.Core 4.2.x from NuGet, or (better) put an assembly redirect in your Web.config file to use the 4.4.3.0 assembly:

1
2
3
4
5
6
7
8
9
10

<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.4.3.0" newVersion="4.4.3.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
By on 3/10/2018 2:35 AM ()

@Loïc Denuzière Thanks so much for your help!

Just for the record, one more redirect I had to add was: <dependentAssembly> <assemblyIdentity name="HtmlAgilityPack" publicKeyToken="bd319b19eaf3b43a" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-1.8.1.0" newVersion="1.8.1.0" /> </dependentAssembly>

By on 4/23/2018 9:40 AM ()