I have some xUnit tests which are failing with the common

Could not load file or assembly 'FSharp.Core, Version=4.0.0.0, Culture=neutral, 
PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. 
The system cannot find the file specified.

To perform a machine-wide redirect, I added to the file

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config 

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

Do you have a better way to deal with the 4.0 / 4.3 issue definitely ?

有帮助吗?

解决方案

I don't know xUnit, but if your unit test runner supports app.config files, you can just attach the config to the unit test assemblies (e.g. an app.config along the lines of what you get with a default F# console application template). If the test runner does not honor app.config, then I think the machine.config strategy is a decent one.

其他提示

By using NuGet, I added FSharp.Core.3 and it fixed my issue.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top