Domanda

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 ?

È stato utile?

Soluzione

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.

Altri suggerimenti

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top