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