2016-01-04 27 views
3

我遇到了一個與通用Windows平臺相關的問題,這個問題讓我感到非常緊張。爲什麼將UWP類庫項目引用複製到主項目中?

比方說,我有兩個項目在我的解決方案 - 第一個是通用的Windows應用程序(TestApp),而第二個是萬能的Windows類庫(TestClassLibrary)。 TestApp參考TestClassLibraryTestClassLibrary指的是一個Newtonsoft.Json NuGet包(它可以是任何其他包)。

enter image description here

現在奇怪的一部分。 TestClassLibrary中的任何引用對TestApp公開。儘管事實上TestApp.csprojproject.json都沒有任何對Newtonsoft.Json的單一引用,但我可以使用TestApp類中的任何NewtonsoftJson特定命名空間。這違反了TestClassLibrary封裝,以便其implmementation詳細信息(即參考庫)公開,我不希望這樣。

問題是 - 這是UWP類庫的一個特性,我可以在哪裏讀到它?或者這是一個NuGet錯誤?

回答

1

TestClassLibrary中的任何引用對TestApp都是公共的。我可以在TestApp類中使用特定於NewtonsoftJson的命名空間。

我可以通過以下步驟如下重現此問題:

  1. 創建以下的例子兩個項目,請確保以下選項在選項窗口檢查。 enter image description here
  2. Intellisense不適用於TestApp項目中的Newtonsoft.Json。但是,TestApp構建成功。

    enter image description here

  3. 重新打開解決方案,無論是智能感知和建設工程。

    enter image description here

這應該是的NuGet的問題,我發現的NuGet GitHub的問題頁面(https://github.com/NuGet/Home/issues/1629)在類似的開放問題。

+0

就像我想的,謝謝你的問題鏈接! – Yarik

相關問題