我正在尝试以 .NET 4.6 为目标,并通过将 C# 语言版本更改为 6 来利用最新的 C# 版本。
但是在编译过程中出现了这个错误:
Error Invalid option '6' for /langversion; must be ISO-1, ISO-2, 3, 4, 5 or Default
如果我将 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 Community Edition,我还手动安装了 .NET Framework 4.6,以防 Visual Studio 2015 默认没有安装它。
该项目是Visual Studio 2015创建的标准ASP.NET MVC模板项目。
最佳答案
在更改框架版本时,请注意 Web.Config
文件中的编译器“类型”:
对于 4.5 和 C#5 -
type="Microsoft.CSharp.CSharpCodeProvider...
对于 4.6 和 C#6 -
type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
关于c# -/langversion 的错误选项 '6' 无效;必须是 ISO-1、ISO-2、3、4、5 或默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31868803/