Question

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 ?

Était-ce utile?

La solution

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.

Autres conseils

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top