我刚开始使用Visual Studio 2017中的旧解决方案.只需打开旧IDE中的解决方案即可无缝工作.
c#应用程序项目现在默认为c#7.0编译器.这些项目(编译/高级)的属性页面可以轻松选择编译器的目标语言版本,默认为最新版本.
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的正确设置是什么?
更新
这是一个Web项目可用的编译选项的屏幕截图(它是意大利语VS2017,但应该很容易理解).没有可能在那里选择目标c#版本.
解决方法
在网站的NuGet窗口中:
>卸载Microsoft.CodeDom.Providers.DotNetCompilerPlatform>重新安装>在web.config下:system.codedom>编译器>编译器将compilerOptions =“/ langversion:6更改为6