我正在努力瞄准.NET 4.6,还可以通过将C语言版本更改为6来利用最新的C语言版本.

但是,在编译过程中,我收到以下错误:

错误/langversion的选项"6"无效;必须是ISO-1、ISO-2、3、4、5或默认值

如果我在网上更新/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创建的标准ASP.NET MVC模板项目.

推荐答案

更改Framework版本时,请注意Web.Config文件中的编译器"type":

对于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"

More info in this forum post

.net相关问答推荐

为什么不能使用 null 作为 Dictionary 的键?

如何使用 Moq 为不同的参数设置两次方法

如何获取 Sql Server 数据库中所有模式的列表

发布版本中的 Debug.WriteLine

生产代码中的 System.Diagnostics.Debug.WriteLine

将屏幕捕获为位图

RNGCryptoServiceProvider 的优缺点

是什么让 Enum.HasFlag 这么慢?

无法加载文件或程序集'System.ComponentModel.Annotations,版本 = 4.1.0.0

如何退出所有正在运行的线程?

什么版本的 .NET 附带什么版本的 Windows?

如何确定字符串是 C# 中的有效 IPv4 还是 IPv6 地址?

Dispatcher.CurrentDispatcher 与 Application.Current.Dispatcher

使用语句与最终try

C# 中的 F# List.map 类似功能?

什么是 .NET 应用程序域?

如何修复 .NET Windows 应用程序在启动时崩溃并出现异常代码:0xE0434352?

WPF 中的 Application.DoEvents() 在哪里?

从 Visual Studio 2015 发布 - 允许不受信任的证书

您可以将 Microsoft Entity Framework 与 Oracle 一起使用吗?