我在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中的任何函数,就会导致运行时错误。
答案 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,但并未调查它尝试加载更高版本的原因)