【问题标题】: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 引用了 TestClassLibrary。 TestClassLibrary 指的是 Newtonsoft.Json NuGet 包(可以是任何其他包)。

现在是奇怪的部分。 TestClassLibrary 中的任何引用都会对 TestApp 公开。我可以在 TestApp 类中使用任何 NewtonsoftJson 特定的命名空间,尽管 TestApp.csproj 和 project.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
      相关资源
      最近更新 更多