我面临一个奇怪的问题。我的解决方案中有多个.net标准类项目。有一个名为Messaging(.csproj
)的.net 标准2.0 类库项目,该项目使用 ActiveMQ 从其中推送和读取数据。该项目参考Apache.NMS库。现在,我有另一个名为 Core (.csproj
)的项目,该项目引用了Messaging项目。在Core项目的Messaging项目内的类的构造函数调用期间,我收到系统找不到Apache.NMS dll的错误。如果在Core项目中添加此引用,则一切正常,但我真的不明白为什么会这样。使用纯.net框架,我从来没有遇到过这个问题。使用自己的参考文献将项目分开,并独立工作。
有人可以帮忙吗?
我添加了来自nuget的所有引用
答案 0 :(得分:0)
经过大量研究,我找到了解决此问题的方法。发生的是在.NET Framework /标准项目的bin文件夹中,未复制引用项目的依赖dll。
.NET Framework项目解决方案: 打开.csproj文件,并在第一个标记中添加以下行
<RestoreProjectStyle>PackageReference</RestoreProjectStyle>
.NET Standard / Core项目的解决方案: 打开.csproj文件,并在第一个标记行下方添加
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
现在编译项目,您将看到bin文件夹中存在所有必需的dll。 希望这可以帮助面临相同问题的其他人。