【问题标题】:netcoreapp3.1 appears to reference C# 7.3 and not 8 as documentednetcoreapp3.1 似乎引用了 C# 7.3 而不是文档中的 8
【发布时间】:2019-12-04 12:26:14
【问题描述】:

我已将现有的 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 MSFTnetcoreapp3.1 应该使用 C#8 并且确实必须

我刚刚看到的高级项目设置已在 Visual Studio 2019 (16.3.10) 中禁用

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

【问题讨论】:

  • C# 8.0 需要 Visual Studio 2019
  • 我正在使用 Visual Studio 2019
  • 将版本设置为 .NET Core 3.1 时遇到同样的错误
  • 我已将 ??= 添加到现有的 Core 3 项目并且没有错误,然后使用最新补丁 (V 4.7.03062) 更新 VS 以获取 3.1,然后也将项目升级到 3.1没有错误。我能得到你的错误的唯一方法是将项目降级到 2.1。是否值得在您的 VS 上运行修复/更新。
  • @DavidHinchliffe 现场。我还没有看到 Visual Studio 的新版本,应该对此有所了解。仅当您不更新时,我的问题才会引发错误。回答,我会接受,因为你说得对。

标签: c# asp.net-mvc c#-8.0 netcoreapp3.0 netcoreapp3.1


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2012-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-20
    • 2021-11-12
    相关资源
    最近更新 更多