【问题标题】:Why one .net library needs the reference of the dependency of other .net library为什么一个.net库需要引用其他.net库的依赖
【发布时间】:2019-02-02 13:42:30
【问题描述】:

我遇到了一个奇怪的问题。我的解决方案中有多个 .net 标准类项目。有一个名为 Messaging (.csproj) 的 .net standard 2.0 类库项目,它使用 ActiveMQ 从其中推送和读取数据。本项目参考 Apache.NMS 库。现在我有另一个名为 Core (.csproj) 的项目,它引用了 Messaging 项目。在Core项目中Messaging项目内的类的构造函数调用期间,我收到System找不到Apache.NMS dll的错误。如果我在 Core 项目中添加这个引用,那么一切正常,但我真的不明白为什么会这样。使用纯 .net 框架的东西,我从来没有遇到过这个问题。将项目与自己的参考分开并独立工作。 任何人都可以帮忙吗? 我已经添加了来自 nuget 的所有引用

【问题讨论】:

    标签: c# .net visual-studio .net-core .net-standard


    【解决方案1】:

    经过大量研究,我找到了解决此问题的方法。发生的事情是在 .NET 框架/标准项目的 bin 文件夹中,引用项目的依赖 dll 没有被复制。

    .NET Framework 项目解决方案: 打开 .csproj 文件并在第一个标签中添加以下行

    <RestoreProjectStyle>PackageReference</RestoreProjectStyle>
    

    .NET Standard / Core 项目的解决方案: 打开 .csproj 文件并在下面添加第一个标签

    <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
    

    现在编译项目,您将看到 bin 文件夹中存在所有必需的 dll。 希望这可以帮助面临同样问题的其他人。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-01
      • 2015-05-27
      • 2021-01-06
      • 2017-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-15
      相关资源
      最近更新 更多