簡體   English   中英

2 個組件中引用的 Nuget package 不起作用

[英]Nuget package referenced in 2 assemblies does not work

我有一個這樣構建的解決方案:

項目A -> Assembly2 -> Assembly1 -> NuGet Package (Newtonsoft.JSON)

我目前正在開發 Assembly2,它依賴於 Assembly1。 我用 ProjectA 調試。 這么久,Newtonsoft.dll 被復制到我的 bin 文件夾中,一切正常。

現在我想在我的 Assembly2 中直接使用 Newtonsoft,所以我將它添加為 NuGet Package。 之后,不再將 Newtonsoft.dll 復制到 bin 文件夾中。

我嘗試直接下載 Newtonsoft.dll(或直接通過“瀏覽...”從 Assembly1 使用 Newtonsoft.dll)。 這也有效。 看來,這個問題只發生在我在 Assembly2 中使用 NuGet 時。 有人可以解釋這種行為嗎?

我使用了完全相同的 Newtonsoft 版本。

肯定令人費解。 根據你的描述應該沒問題,但是...

“傳遞依賴”是你的朋友。 如果 assy1 引用 NS.Json,而 assy2 引用 assy1,則 NS.Json 可用於 assy2。 無需從 assy2 引用 NS.Json。

這是一件好事。 這意味着刪除了一些版本控制地獄。 如果你想升級 NS.Json 那么你只有一個地方可以這樣做。 ref 並不分散在您的項目中。 如果您還遵循擁有“干凈”依賴圖的良好做法,這將很有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM