系统范围的绑定重定向为F#4.0.0.0到4.3.0.0

时间:2012-07-30 09:09:24

标签: .net f# assembly-binding-redirect

我有一些xUnit测试失败了常见的

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.

为了执行机器范围的重定向,我添加到文件

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>

你有更好的方法来处理4.0 / 4.3问题吗?

2 个答案:

答案 0 :(得分:3)

我不知道xUnit,但是如果您的单元测试运行器支持app.config文件,您可以将配置附加到单元测试程序集(例如,app.config沿着您使用默认F#获得的内容)控制台应用模板)。如果测试运行器不支持app.config,那么我认为machine.config策略是一个不错的策略。

答案 1 :(得分:2)

通过使用NuGet,我添加了FSharp.Core.3并解决了我的问题。