[英]Why one .net library needs the reference of the dependency of other .net library
我面临一个奇怪的问题。 我的解决方案中有多个.net标准类项目。 有一个名为Messaging( .csproj
)的.net 标准2.0类库项目,该项目使用ActiveMQ来推送和读取其中的数据。 该项目参考Apache.NMS库。 现在,我有另一个名为Core ( .csproj
)的项目,它引用了Messaging项目。 在Core项目的Messaging项目内的类的构造函数调用期间,我收到系统找不到Apache.NMS dll的错误。 如果在Core项目中添加此引用,则一切正常,但我真的不明白为什么会这样。 使用纯.net框架,我从来没有遇到过这个问题。 使用自己的参考文献将项目分开,并独立工作。 有人可以帮忙吗? 我已经从nuget添加了所有引用
经过大量研究,我找到了解决此问题的方法。 发生的是在.NET Framework /标准项目的bin文件夹中,未复制引用项目的相关dll。
.NET Framework项目的解决方案:打开.csproj文件,并在第一个标记中添加以下行
<RestoreProjectStyle>PackageReference</RestoreProjectStyle>
.NET Standard / Core项目的解决方案:打开.csproj文件,并在第一个标记行下方添加
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
现在编译项目,您将看到bin文件夹中存在所有必需的dll。 希望这可以帮助面临相同问题的其他人。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.