C# UWP - 无法将引用添加到同一解决方案中的项目

16
我需要为我要使用的API工具编写一个UI界面。我已经创建了一个新的通用Windows应用程序用于UI,将API工具项目添加到解决方案中,现在需要从UWP项目引用API工具 - 但我只得到“无法添加对项目'XXX'的引用”的错误提示。
如果我创建一个Windows窗体应用程序或控制台项目并将其添加到解决方案中,我可以进行引用,没有问题。
我不理解UWP有什么问题?

1
这是一个如此明显的事情,却没有人知道。我刚刚创建了一个测试应用程序并遇到了同样的问题。 - Boppity Bop
2
是的,我已经将一个 .net core2 项目从 UWP 项目中引用了过来,但是在使用 .net 命名空间时一切都正常。这对于 Microsoft 来说似乎是一个 bug。 - 27k1
5个回答

3
在您尝试引用的项目中,请确保TargetFrameworks单元不包含.NET Core.NET Framework
  1. 右键单击您要引用的项目。
  2. 编辑项目文件
  3. 找到<TargetFrameworks>
  4. 删除您不需要的目标。对于UWP,您只需保留.NET Standard 2.0目标:
<TargetFrameworks>netstandard2.0</TargetFrameworks>

2

3
据我所知,PCL已被.NET standard 2.0弃用。 - MJZ
1
事情已经改变了。现在微软不再推荐使用它。链接上说:“由于可移植类库项目仅针对 .NET 实现的一个非常特定的子集,我们强烈不建议在新应用程序开发中使用它们。推荐的替代方案是 .NET Standard 库,它针对支持特定版本 .NET Standard 的所有 .NET 实现。有关更多信息,请参见 .NET Standard。” - Artemious

2

当编写UWP程序时,为了构建一个可以被同一解决方案下的UI UWP项目引用的库,我需要使用一个特定的库项目模板(例如:通过 添加新项目 | Windows | 类库(通用Windows)来实现)。这是在我的工作中行之有效的方法(我假设你已经安装了UWP SDK),因此如果你有.dll源文件,也许你应该尝试使用这个项目格式重新编译它。希望能对你有所帮助。


有趣。等我有时间了,我会试一下的。 - Dave Tapson

0

提供 C# 项目的引用有两种方式。

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


4
如果使用UWP,是不可能做到这样的...至少不是像这样。如果你不信,可以试一下。 - Dave Tapson

-2

在添加测试项目时,不要进入“测试”并选择“.Net Framework单元测试项目”...

转而进入“Windows Universal”并选择“通用Windows单元测试应用程序”

如果您选择此项目,则可以向您的UWP项目添加引用。


2
我在我的问题中确切地提到了测试项目吗? - Dave Tapson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接