2017-03-16 76 views
2

我在互联网上搜索了一个似乎是一个非常基本问题的答案,所以我确信我错过了一些明显的东西。我正在将我和我的团队升级到Visual Studio 2017,但是,当我尝试使用新的C#7语言功能时,我会看到红色的小圆点。代码仍然编译并运行;这就像IDE没有选择新功能一样。我已经通过NuGet添加了Microsoft.Net.Compilers,并且我仍然得到了冗余。我附上了一个很引人注目的例子的截图(空值异常传播)。 Red Squigglies in VS 2017在Visual Studio 2017中启用新的语言功能

对于它的价值,我安装了最新版本的ReSharper。此外,Roslyn建议C#7代码修复,并且它们可以正确修复,但我仍然有红色的缩进。

+1

它可能是一个视觉错误。你没有得到任何例外吗? – uTeisT

+1

听起来像一个安装程序错误。我建议您使用VS2017中的“报告问题”(位于右上角)。 –

+0

斯维克得到了正确的答案,但来自你们两个的伟大建议。 R#是罪魁祸首。 –

回答

5

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

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

+0

升级到R #EAP 5修复了这个问题。我提到R#出于这个原因,但不想安装EAP,除非我绝对必须。不幸的是,这会延迟我们对VS2k17的采用,尽管我们拒绝在我们的开发机器上运行R#EAP。谢谢你。 –

相关问题