在UWP中使用.NET Standard 2.1

Qua*_*kly 5 .net-standard visual-studio-2019

我今天犯了一个重大错误,即要进行一些NuGet库更新。它迫使我要么退回一周的工作量,要么升级到ASP .NET Core 3.0。我讨厌使用非生产性的东西,但是我也不想解开库,所以我升级了。然后,这迫使我重新定位.NET Standard 2.1库。我做到了 我现在的问题是客户端UWP代码。当我尝试编译时,我得到:

error : Project '..\ClassLibrary1\ClassLibrary1.csproj' targets 'netstandard2.1'. It cannot be referenced by a project that targets 'UAP,Version=v10.0.10586'.
Run Code Online (Sandbox Code Playgroud)

即使使用原始UWP和.NET Standard 2.1库,也会发生这种情况。有任何线索如何使Visual Studio 2019客户端代码与最新升级一起使用?

res*_*p78 8

UWP 尚不支持.Net 标准 2.1。它只支持到.Net 标准 2.0,从 Windows 1709 开始也支持。

如果您查看 2.1 的链接,它会指出

平台支持

  • 即将推出的通用 Windows 平台版本

所以它可能是 19H2

更新

微软将发布一个名为WinUI 3的新框架,它将支持 UWP 以及基于 Win32 的应用程序模型。WinUI 3 将支持这两个平台的 .Net 5。WinUI 3 预览版将于 2020 年 5 月中旬推出,最终版本将于 2020 年末发布。Windows 10 1803+ 将支持 WinUI 3。

  • 你有这方面的参考吗?Entity Framework Core 3.0 仅适用于 .NET Standard 2.1,因此这意味着您无法在 UWP 应用程序中使用最新的 EF Core,这似乎是一件大事。 (2认同)

use*_*040 6

目前,所有Windows 10 SDK都不支持.NET Standard 2.1

Windows 10 19H2使用与19H1 相同的SDK号,因此不太可能支持.NET Standard 2.1。(但我当然希望如此。)

微软尚未发布官方声明,但Windows 10 20H1正在获得有意义的SDK更新,因此很可能会支持它。如果是这种情况,UWP应用将需要20H1才能运行(因此它将成为受支持的最低版本)。

这种情况的主要问题之一是Entity Framework Core 3.0需要.NET Standard 2.1,因此暂时不能在UWP应用中使用。

顺便说一下,作为一个实验,我能够派生Entity Framework Core 3.0(用于SQLite)并使其在.NET Standard 2.0上进行编译。我基本上不得不从.NET Core 3.0中手动复制一些新的API(例如IAsyncXXX)。它确实有效,因此它是真正需要它的人的选择。请注意,我没有尝试使用SQL Server提供程序。