为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕妹3242003 2019-10-30 14:49:45
我刚刚开始在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#版本。
查看完整描述

3 回答

?
白板的微信

TA贡献1883条经验 获得超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+)。


查看完整回答
反对 回复 2019-10-30
  • 3 回答
  • 0 关注
  • 739 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信