我刚刚开始在Visual Studio 2017中处理旧解决方案。仅在旧IDE中打开解决方案即可正常工作。现在,c#应用程序项目默认为c#7.0编译器。通过这些项目的属性页(编译/高级),可以轻松选择编译器的目标语言版本,默认为最新版本。
我找不到在asp.net Web项目中启用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的正确设置是什么?
更新 这里是一个网络项目可用的编译选项的屏幕截图(它是意大利语VS2017,但应该很容易理解)。无法在此处选择目标C#版本。
白板的微信