【问题标题】:Why are UWP class library project references are getting copied to the main project?为什么 UWP 类库项目引用被复制到主项目?
【发布时间】:2016-04-08 07:31:48
【问题描述】:

我遇到了一个与通用 Windows 平台相关的问题,让我抓狂。

假设我的解决方案中有两个项目 - 第一个是通用 Windows 应用 (TestApp),第二个是通用 Windows 类库 (TestClassLibrary )。 TestApp 引用了 TestClassLibraryTestClassLibrary 指的是 Newtonsoft.Json NuGet 包(可以是任何其他包)。

现在是奇怪的部分。 TestClassLibrary 中的任何引用都会对 TestApp 公开。我可以在 TestApp 类中使用任何 NewtonsoftJson 特定的命名空间,尽管 TestApp.csprojproject.json 都没有对 Newtonsoft.Json 的单一引用。这违反了 TestClassLibrary 封装,因此它的实现细节(即引用的库)会公开,我不希望这样。

问题是——这是 UWP 类库的一个特性吗?我可以在哪里了解它?还是这是 NuGet 错误?

【问题讨论】:

    标签: .net visual-studio-2015 nuget uwp windows-10-universal


    【解决方案1】:

    TestClassLibrary 中的任何引用都会对 TestApp 公开。我可以在 TestApp 类中使用任何 NewtonsoftJson 特定的命名空间。

    我可以通过以下步骤重现此问题:

    1. 按照您的示例创建两个项目,确保在“选项”窗口中选中以下选项。
    2. Intellisense 不适用于 TestApp 项目中的 Newtonsoft.Json。但是,TestApp 构建成功。

    3. 重新打开解决方案,Intellisense 和构建都有效。

    这应该是 NuGet 的问题,我在 Nuget GitHub 问题页面 (https://github.com/NuGet/Home/issues/1629) 上发现了一个类似的未解决问题。

    【讨论】:

      猜你喜欢
      • 2012-05-16
      • 2014-10-25
      • 2011-04-07
      • 2023-03-17
      • 2019-10-05
      • 1970-01-01
      • 1970-01-01
      • 2019-06-26
      • 2014-01-06
      相关资源
      最近更新 更多