我刚刚开始在 Visual Studio 2017 上处理我的旧解决方案。只需在旧的 IDE 中打开解决方案即可无缝工作。 现在,C# 应用程序项目默认使用 C# 7.0 编译器。这些项目的属性页面(编译/高级)让您轻松选择所需的编译器目标语言版本,默認为最新版本。
然而,我找不到在 ASP.NET 网页项目 中启用 C# 7.0 的方法。 如果我写了一个类似以下语句的声明:
if (int.TryParse("1", out int myInt)) { ... }
这个IDE警告我需要使用7+版本的语言。
我的研究表明,我应该在web.config文件的system.codedom编译器区域中针对特定的c#版本,以便针对最新的Roslyn版本。
现在我拥有的是:
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs"
type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701"/>
本文涉及针对 C# 6 的编译设置。如果我已经使用 NuGet 下载了最新版本的 Roslyn,那么针对 C# 7 的正确设置是什么?
更新: 以下是 Web 项目可用的 编译 选项的屏幕截图(使用的是意大利语的 VS2017,但应该很容易理解)。在此处无法选择所需的 C# 版本。