netcoreapp3.1 似乎引用了 C# 7.3 而不是 8 作为文档

dov*_*ove 9 c# asp.net-mvc c#-8.0 netcoreapp3.0 netcoreapp3.1

我已经将现有的 asp.net mvc 应用程序从 netcoreapp3.0 更新到 netcoreapp3.1,以及所有引用的包。项目设置有目标框架,我的电脑安装了 SDK

<TargetFramework>netcoreapp3.1</TargetFramework>
Run Code Online (Sandbox Code Playgroud)

我在使用 C# coaslescing 分配功能 的地方出错了??= 这在更新之前没有问题。@SebastianHofmann 已经确认其他 C#8 功能也不起作用。

Error   CS8370  Feature 'coalescing assignment' is not available in C# 7.3.
 Please use language version 8.0 or greater.    
Run Code Online (Sandbox Code Playgroud)

根据 MSFT netcoreapp3.1 应该使用 C#8 并且确实必须 在此处输入图片说明

我刚刚看到的高级项目设置已在 Visual Studio 2019 (16.3.10) 中禁用 在此处输入图片说明

我可以切换回 3.0 并再次编译

小智 3

我已将 ??= 添加到现有的 Core 3 项目并且没有错误,然后使用最新补丁(V 4.7.03062)更新 VS 以获取 3.1,然后将项目升级到 3.1 也没有错误。我得到你的错误的唯一方法是将项目降级到 2.1。是否值得在您的 VS 上运行修复/更新?