【问题标题】:Enable New Language Features in Visual Studio 2017在 Visual Studio 2017 中启用新的语言功能
【发布时间】:2017-08-08 04:27:57
【问题描述】:

我已经在整个互联网上搜索了一个看似非常基本的问题的答案,所以我确定我在这里遗漏了一些明显的东西。我正在将我和我的团队升级到 Visual Studio 2017,但是,当我尝试使用新的 C# 7 语言功能时,我得到了红色的波浪线。代码仍然可以编译和运行;不过,这就像 IDE 没有采用新功能一样。我已经通过 NuGet 添加了 Microsoft.Net.Compilers,但我仍然得到了波浪线。我附上了一个非常人为的引用示例的屏幕截图(空值异常传播)。

不管怎样,我已经安装了最新版本的 ReSharper。此外,Roslyn 建议修复 C#7 代码,并且它们得到了正确修复,但我仍然有红色的波浪线。

【问题讨论】:

  • 这可能是一个视觉错误。你没有得到任何例外吗?
  • 听起来像一个设置错误。我建议您使用 VS2017 中的“报告问题”(在右上角)。
  • svick 得到了正确的答案,但你们俩都提出了很好的建议。 R# 是罪魁祸首。

标签: visual-studio-2017 c#-7.0


【解决方案1】:

最新版本的 ReSharper (2016.3) does not have full C# 7.0 support,所以我认为这很可能是导致问题的原因。

您的代码在 ReSharper 2017.1 EAP 4 中运行良好,包括正确地将 throw 表达式标记为不可访问。因此,如果您愿意使用预发布软件,您可能想尝试升级到该版本。

【讨论】:

  • 升级到 R# EAP 5 解决了这个问题。出于这个原因,我提到了 R#,但我不想安装 EAP,除非我绝对必须这样做。不幸的是,这将延迟我们对 VS2k17 的采用,因为我们拒绝在我们的开发机器上运行 R# EAP。不过谢谢。
猜你喜欢
  • 2015-10-05
  • 2017-07-29
  • 2017-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-06
  • 1970-01-01
  • 2017-04-25
相关资源
最近更新 更多