繁体   English   中英

为什么一个.net库需要引用其他.net库的依赖关系

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM