错误/ langversion错误选项'6'; 必须是ISO-1,ISO-2,3,4,5或默认

我试图将.NET 4.6作为目标,并通过将C#语言版本更改为6来利用最新的C#版本。

但在编译期间,我得到了这个错误:

错误/ langversion错误选项'6'; 必须是ISO-1,ISO-2,3,4,5或默认

如果我将Web.Config中的/langversion:6更新为5,

  <system.codedom> <compilers> <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701"> 

但是,如何解决这个问题,而不诉诸较低的语言版本?

我正在使用Visual Studio 2015社区版,并且我还手动安装了.NET Framework 4.6,以防Visual Studio 2015默认安装它。

该项目是由Visual Studio 2015创build的标准ASP.NET MVC模板项目。

在更改Framework版本时,在Web.Config文件中向编译器“type”付费:

为4.5和C#5 –

键入=“Microsoft.CSharp.CSharpCodeProvider …

4.6和C#6 –

“Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider,Microsoft.CodeDom.Providers.DotNetCompilerPlatform,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35”

更多信息在这里…

由nuget更新的

Microsoft.CodeDom.Providers.DotNetCompilerPlatform

可以解决这个问题。

如果项目没有完全升级到VS2015,我遇到了这样的行为。 如果您在VS2013中打开2015年的解决scheme,您将会遇到此错误

1.转到项目并select您的项目属性。

2select生成并单击高级button。

3.select语言版本默认。

4.保存。

https://youtu.be/IP8feQeWqkk

看到一个ASP.NET奇怪的编译错误的答案

将C#语言降级到5只会掩盖问题,只要有人使用C#6function,您的网站/项目将会中断,您仍然会花时间重新修复它。 尝试链接中的解决scheme。