【问题标题】:C# UWP - Can't add reference to project in same solutionC# UWP - 无法在同一解决方案中添加对项目的引用
【发布时间】:2016-03-27 18:48:33
【问题描述】:

我需要为需要使用的 API 实用程序编写 UI。我已经为 UI 创建了一个新的通用 Windows 应用程序,将 API 实用程序项目添加到解决方案中,现在需要从 UWP 项目中引用 API 实用程序 - 但我只是得到“无法添加对项目 'XXX' 的引用”。

如果我创建一个 Windows 窗体应用程序或控制台项目并将其添加到解决方案中,我可以进行引用,没有问题。

UWP 有什么我不明白的地方?

【问题讨论】:

  • 这么明显的事情没人知道。我刚刚创建了一个测试应用程序并遇到了同样的问题。
  • 是的,我从 UWP 项目中引用了一个 .net core2 项目,但是关于使用 uwp 中的 .net 命名空间,一切正常。在我看来,这对 Microsoft 来说是一个错误。

标签: c# win-universal-app


【解决方案1】:

在您尝试引用的项目中,确保 TargetFrameworks 名字对象不包含 .NET Core.NET Framework

  1. 鼠标右键单击您正在引用的项目。
  2. 编辑项目文件
  3. 查找<TargetFrameworks>
  4. 删除不需要的目标。对于 UWP,您可以只保留 .NET Standard 2.0 目标:
<TargetFrameworks>netstandard2.0</TargetFrameworks>

【讨论】:

    【解决方案2】:

    您应该为您的 API 实用程序创建一个可移植类库。

    参见 MSDN:https://msdn.microsoft.com/en-us/library/gg597391(v=vs.110).aspx

    【讨论】:

    • 我相信 PCL 从 .NET 标准 2.0 开始已被弃用
    • 情况发生了变化。现在微软不推荐它。链接说:Because Portable Class Library projects target only a very specific subset of .NET implementations, we strongly discourage their use in new application development. The recommended replacement is a .NET Standard library, which targets all .NET implementations that support a specific version of the .NET Standard. For more information, see .NET Standard.
    【解决方案3】:

    编码 UWP 时,要构建可由相同解决方案 UI UWP 项目引用的库,我需要使用特定的库项目模板(例如:通过添加新项目 | Windows | 类库(通用 Windows)),这对我有用(我假设你已经安装了 UWP SDK)所以如果你有你的 .dll 源,也许你应该尝试使用该项目格式重新编译它。希望对您有所帮助。

    【讨论】:

    • 有趣。有时间我会试一试的。
    【解决方案4】:

    有两种方法可以提供对 c# 项目的引用。

    选择项目 -> 右键单击​​引用 -> 添加引用
    1. 通过 .dll :浏览程序集(.dll 文件)并选择所需文件 -> 确定
    2. 通过 .csproj :从左侧菜单中选择 Projects/Shared Projects -> 浏览 .csproj 文件(注意:选择文件过滤器为“所有文件”以使其可见)-> OK

    【讨论】:

    • 没有 UWP 就没有......或者无论如何都不是这样。如果您不相信我,请尝试一下。
    【解决方案5】:

    添加测试项目时,不要转到“测试”并选择“单元测试项目(.Net Framework)”... 转到“Windows Universal”并选择“Unit Test App (Universal Windows)”

    如果您选择此项目,那么您将能够添加对您的 UWP 项目的引用。

    【讨论】:

    • 在我的问题中我到底在哪里提到了测试项目?
    猜你喜欢
    • 2014-04-14
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多