我遇到了一个与通用Windows平台相关的问题让我感到疯狂。
假设我的解决方案中有两个项目 - 第一个是通用Windows应用程序( TestApp ),第二个是通用Windows类库( TestClassLibrary )。 TestApp 引用了 TestClassLibrary 。 TestClassLibrary 是指 Newtonsoft.Json NuGet包(它可以是任何其他包)。
现在奇怪的部分。 TestClassLibrary 中的任何引用都会公开到 TestApp 。我可以在 TestApp 类中使用任何特定于NewtonsoftJson的命名空间,尽管事实上 TestApp.csproj 和 project.json 都没有对Newtonsoft.Json的单一引用。这违反了 TestClassLibrary 封装,因此其实施细节(即引用的库)变为公开,我不希望这样。
问题是 - 这是UWP类库的一个特性,我可以在哪里阅读它?或者这是一个NuGet错误?
答案 0 :(得分:1)
TestClassLibrary中的任何引用都会公开给TestApp。我可以在TestApp类中使用任何特定于NewtonsoftJson的命名空间。
我可以通过以下步骤重现此问题:
Intellisense对TestApp项目中的Newtonsoft.Json不起作用。但是,TestApp构建成功。
重新打开解决方案,智能感知和构建工作。
这应该是NuGet的问题,我在Nuget GitHub问题页面(https://github.com/NuGet/Home/issues/1629)上发现了类似的未解决问题。