我有些困惑,因为我读到UWP使用.NET Core,但是在这里有独立的“适用于UWP的.NET” API文档here。此外,在我的UWP项目中找不到一些.NET Core功能。
我有些困惑,因为我读到UWP使用.NET Core,但是在这里有独立的“适用于UWP的.NET” API文档here。此外,在我的UWP项目中找不到一些.NET Core功能。
简短回答:不是
详细回答:事情比较复杂
uap10.0
(UWP)和netcoreapp1.0
(跨平台的.NET Core)是竞争的应用程序模型/SDK/平台(微软选择提及的任何术语)。为避免围绕“ .NET Core”一词产生混淆,我在此之后使用目标框架单元(技术术语)。uap10.0
聚焦于基于Windows的UI应用程序,而netcoreapp1.0
基本上是跨平台的控制台应用程序(像任何程序一样可以作为服务器运行,如ASP.NET)。uap10.0
实现了netstandard1.4
,而netcoreapp1.0
实现了netstandard1.6
(严格来说,是netstandard1.4
的超集) (platform standard documentation)。然而,这两个应用程序模型都向其添加了显着的附加库(uap10.0
添加了如Windows.*
库之类的内容,而netcoreapp1.0
的名称为Microsoft.NETCore.App
(NuGet)的库则添加了像不可变集合、网络、文件系统、加密和其他尚未在.NET实现中标准化的东西)。<TargetPlatformVersion>10.0.10586.0</TargetPlatformVersion>
添加到.csproj文件中,现在您可以使用“项目”>“添加引用”并选择UWP合同。方便利用设备命名空间。.NET Core是.NET的跨平台子集,可用于构建适用于Windows、Linux、Mac和UWP的应用程序。
UWP API也是.NET API的一个子集,可在.NET Core上运行。它还具有一些独特于UWP的API。UWP应用程序可以是.NET Core应用程序,但反之则不一定成立。并非所有的.NET Core应用程序都是UWP应用程序。
就像有专门适用于Linux或Mac的.NET Core API一样。