'无法加载文件或程序集'FSharp.Core,版本= 4.6.2.0

时间:2019-05-27 14:55:59

标签: visual-studio f#

我将Visual Studio从VS2017升级到了VS2019。我打开了一个同时包含C#和F#的解决方案。一个C#单元测试项目引用了一个F#.dll项目。

该解决方案可以正常编译,但是在运行时,我收到以下消息

  

System.IO.FileLoadException:'无法加载文件或程序集   'FSharp.Core,版本= 4.6.2.0,文化=中性,   PublicKeyToken = b03f5f7f11d50a3a'或其依赖项之一。的   找到的程序集的清单定义与程序集不匹配   参考。 (来自HRESULT的异常:0x80131040)'

内部的例外是

  

无法加载文件或程序集'FSharp.Core,版本= 4.6.0.0,   文化=中性,PublicKeyToken = b03f5f7f11d50a3a'或其中之一   依赖性。找到的程序集的清单定义不   匹配程序集参考。 (来自HRESULT的异常:0x80131040)

我在单元测试app.config中拥有这个:

  <dependentAssembly>
    <assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-4.6.2.0" newVersion="4.6.2.0" />
  </dependentAssembly>

,单元测试项目在packages.config中具有此功能

<package id="FSharp.Core" version="4.6.2" targetFramework="net461" />

我没有看到缺少的参考文献吗?

谢谢

1 个答案:

答案 0 :(得分:4)

本特·特兰伯格是对的

在测试项目中,我将绑定重定向更改为

       <dependentAssembly>
         <assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
         <bindingRedirect oldVersion="0.0.0.0-4.6.2.0" newVersion="4.6.0.0" />
       </dependentAssembly>

成功了