在ASP.NET应用程序中启用C#7

我刚刚开始在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#版本。


慕妹3242003
浏览 740回答 3
3回答

白板的微信

我可以使用默认语言设置进行编译,但不能使用C#7选项进行编译。 在此处输入图片说明但是下面的设置会导致编译时错误:因此您可以将语言版本设置保留为默认设置。如果您尝试使用Roslyn而不使用Visual 2017默认编译器版本,则可能需要进行更多更改选择项目名称,然后右键单击>>“属性窗口” >>“生成”,然后在“条件编译符号”文本框中添加以下两个选项 __DEMO__,__DEMO_EXPERIMENTAL__更新资料为了使用C#7.0,您需要使用Microsoft.Net.Compilers的2.0+版本安装最新版本的Microsoft.Net.Compilers(2.0+)后,可以选择语言版本为C#7。因此最好的解决方案是安装最新版本的Microsoft.Net.Compilers(2.0+)。
打开App,查看更多内容
随时随地看视频慕课网APP