错误/ 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,您将会遇到此错误
看到一个ASP.NET奇怪的编译错误的答案! 。
将C#语言降级到5只会掩盖问题,只要有人使用C#6function,您的网站/项目将会中断,您仍然会花时间重新修复它。 尝试链接中的解决scheme。