nuget包的Fsharp.Core依赖关系不会复制到bin目录

时间:2018-08-07 18:20:37

标签: c# .net visual-studio f# nuget

我在C#库(DLL)项目中使用ExcelFinancialFunctions nuget包(我们将其称为 A ),项目 A 被项目 B引用,我有一个单元测试项目 C ,它引用了项目 B

因此依赖路径为 C > B > A

ExcelFinancialFunctions取决于Fsharp.Core。

现在,当我构建项目 C 时,Fsharp.Core.dll使用ExcelFinancialFunctions.dll复制到项目 A 的bin目录中,但对于项目< strong> B 和 C ;他们的bin目录仅包含ExcelFinancialFunctions.dll,并且只要调用ExcelFinancialFunctions.dll中的任何函数,就会导致运行时错误。

1 个答案:

答案 0 :(得分:0)

我按照answer中的步骤进行操作,发现绑定FSharp.Core版本存在问题,因此我将以下内容添加到了单元测试项目app.config

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

所以4.4.0.0是与Nuget软件包一起下载的版本,我正在进行范围(0-5)重定向,因为在构建的输出窗口中,我看到了一个尝试加载高于的版本的步骤。 4.4.0.0,可能试图从已安装的.NET SDK加载它(我拥有.NET Framework 4.7.2,但并未调查它尝试加载更高版本的原因)