我今天犯了一个重大错误,即要进行一些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'.
即使使用原始UWP和.NET Standard 2.1库,也会发生这种情况。有任何线索如何使Visual Studio 2019客户端代码与最新升级一起使用?
目前,所有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提供程序。