在asp.net应用程序中启用c# 7

22 浏览
0 Comments

在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版本。

现在我有的是:

  
    
      

这是针对c# 6的。如果我已经使用nuget下载了最新的Roslyn,正确的c# 7设置是什么?

更新

这是一个网络项目的可用编译选项的截图(这是意大利VS2017,但很容易理解)。没有选择目标c#版本的可能性。

\"Compile

admin 更改状态以发布 2023年5月22日
0
0 Comments

我可以使用默认语言设置编译它,但无法使用C# 7选项编译。
enter image description here

但是下面的设置会导致编译时出错:

enter image description here

因此,您可以将语言版本设置保持为默认设置。

如果您正在尝试使用Roslyn而不使用Visual 2017默认编译器构建,则可能需要进行一些更改。

选择您的项目名称,右键单击>>属性窗口>>构建,然后在"条件编译符号"文本框中添加下面的两个选项:__DEMO__,__DEMO_EXPERIMENTAL__

enter image description here

更新

为了使用C# 7.0,您需要使用2.0+版本的Microsoft.Net.Compilers

enter image description here

在安装了最新版本的Microsoft.Net.Compilers(2.0+)之后,您可以选择C# 7作为语言版本。

因此,最好的解决方案是安装最新版本的Microsoft.Net.Compilers(2.0+)。

0
0 Comments

在网站的NuGet窗口中:

  1. 卸载Microsoft.CodeDom.Providers.DotNetCompilerPlatform
  2. 重新安装它
  3. web.config中,
    在:system.codedom > compilers > compiler下,
    compilerOptions="/langversion:6 to 7
0