我的解决方案中有两个.NET Core 2.0项目和一个通用Windows平台版本v6.0.1项目(主要)(两个目标都设置为Build 16299)。当两个.NET Core 2.0项目中的任何一个项目时,我收到一条错误消息"无法添加对项目的引用" xx"。如果它告诉我为什么会好的。
作为测试,我添加了一个新的.NET Standard 2.0库,我能够引用它。根据我的有限理解,.Net Standard 2.0与最新的.Net Core 2.0兼容,因此.NET Core 2.0也不应与UWP 6.0.1兼容吗?当我查看比较.NET标准的图表时,它清楚地表明.NET Standard 2.0和.NET Core 2.0是兼容的。
如果所有这些都不是令人惊讶的混淆,UWP项目有Microsoft .NETCore包列出.NET Core 2.0:
此外,虽然未显示,但UWP软件包具有.NETCore,5.0版依赖项!我的印象是.NET Core只在版本2.0:
这里发生了什么?一些澄清会很棒。
ASIDE:微软似乎是一个不连贯的组织,因为这个令人难以置信的令人困惑的.NET架构以及分散且无序的文档。似乎所有不同的部门都在重复工作,而没有更高层次的指导。也许,他们需要一个.NET Czar。
答案 0 :(得分:0)
.NET Core实现了.NET Standard,但它可能有一些其他地方无法使用的API。您所说的就是说" UWP实施.NET标准,因此我可以在每个.NET标准项目中使用UWP API"那不是真的。
.NET Standard只是所有.NET平台上可用的API的子集。它是PCL的替代品。您可以在使用.NET的每个.NET应用程序/库中使用.NET标准库,该.NET实现特定版本的.NET Standard。
PS:是的,.NET Standard和其他人之间的关系有点令人困惑。还花了我一些时间来理解它。
答案 1 :(得分:0)
查看此页面上的矩阵 - https://docs.microsoft.com/en-us/dotnet/standard/net-standard
在您的示例中,如果您要从UWP项目使用.NET Standard 2.0库,则UWP项目必须将min target设置为16299
同样,netcore 2.0可以使用netstandard 2.0
提供有关您要安装哪个包以及安装到哪个项目的信息。通常,输出窗口会告诉您包安装失败的确切原因。
Restoring packages for C:\Users\karann\Source\Repos\UWPWeatherAppKRN\UWPWeatherAppKRN\UWPWeatherAppKRN.csproj...
NU1202: Package netstandard2_lib 1.0.0 is not compatible with uap10.0.10586 (UAP,Version=v10.0.10586). Package netstandard2_lib 1.0.0 supports: netstandard2.0 (.NETStandard,Version=v2.0)
NU1202: Package netstandard2_lib 1.0.0 is not compatible with uap10.0.10586 (UAP,Version=v10.0.10586) / win10-arm. Package netstandard2_lib 1.0.0 supports: netstandard2.0 (.NETStandard,Version=v2.0)
NU1202: Package netstandard2_lib 1.0.0 is not compatible with uap10.0.10586 (UAP,Version=v10.0.10586) / win10-arm-aot. Package netstandard2_lib 1.0.0 supports: netstandard2.0 (.NETStandard,Version=v2.0)
NU1202: Package netstandard2_lib 1.0.0 is not compatible with uap10.0.10586 (UAP,Version=v10.0.10586) / win10-x64. Package netstandard2_lib 1.0.0 supports: netstandard2.0 (.NETStandard,Version=v2.0)
NU1202: Package netstandard2_lib 1.0.0 is not compatible with uap10.0.10586 (UAP,Version=v10.0.10586) / win10-x64-aot. Package netstandard2_lib 1.0.0 supports: netstandard2.0 (.NETStandard,Version=v2.0)
NU1202: Package netstandard2_lib 1.0.0 is not compatible with uap10.0.10586 (UAP,Version=v10.0.10586) / win10-x86. Package netstandard2_lib 1.0.0 supports: netstandard2.0 (.NETStandard,Version=v2.0)
NU1202: Package netstandard2_lib 1.0.0 is not compatible with uap10.0.10586 (UAP,Version=v10.0.10586) / win10-x86-aot. Package netstandard2_lib 1.0.0 supports: netstandard2.0 (.NETStandard,Version=v2.0)
Package restore failed. Rolling back package changes for 'UWPWeatherAppKRN'.
Time Elapsed: 00:00:01.1049694
搜索NU1202,您将看到此页Errors and warnings