netcoreapp3.1 似乎引用了 C# 7.3 而不是 8,如记录的那样

netcoreapp3.1 appears to reference C# 7.3 and not 8 as documented

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

<TargetFramework>netcoreapp3.1</TargetFramework>

我在使用 C# 的地方出现错误 coaslescing assignment feature ??= 在更新之前,它可以正常工作。 @SebastianHofmann 已确认其他 C#8 功能也不起作用。

Error   CS8370  Feature 'coalescing assignment' is not available in C# 7.3.
 Please use language version 8.0 or greater.    

According to MSFT netcoreapp3.1 应该使用 C#8,而且确实必须

我刚刚看到的高级项目设置已在Visual Studio2019 (16.3.10) 内禁用

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

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