【问题标题】:Fsharp.Core dependency from nuget package doesn't get copied to bin directorynuget 包中的 Fsharp.Core 依赖项不会复制到 bin 目录
【发布时间】:2018-08-07 18:20:36
【问题描述】:

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

所以依赖路径是C > B > A

ExcelFinancialFunctions 依赖于 Fsharp.Core。

现在,当我构建项目 C 时,Fsharp.Core.dll 会使用 ExcelFinancialFunctions.dll 复制到项目 A 的 bin 目录中,但项目并非如此 B和C;他们的 bin 目录只有 ExcelFinancialFunctions.dll,每当调用 ExcelFinancialFunctions.dll 中的任何函数时都会导致运行时错误。

【问题讨论】:

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


    【解决方案1】:

    按照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,但没有调查它尝试加载更高版本的原因)

    【讨论】:

    • 感谢您在这里分享您的解决方案,您可以接受它作为答案。这可能对阅读此主题的其他社区成员有所帮助。
    • @LeoLiu-MSFT 谢谢。我将其标记为已接受。我希望有人能提供它试图加载更高版本的原因。
    猜你喜欢
    • 2019-03-19
    • 1970-01-01
    • 2020-03-11
    • 1970-01-01
    • 2010-10-30
    • 1970-01-01
    • 1970-01-01
    • 2017-01-27
    • 1970-01-01
    相关资源
    最近更新 更多