首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误:/langversion的选项“%6”无效;必须是ISO-1、ISO-2、3、4、5或默认值

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

Stack Overflow用户
提问于 2015-08-07 10:32:55
回答 7查看 78.1K关注 0票数 92

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

然而,在编译过程中,我得到了这个错误:

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

如果我将Web.Config中的/langversion:6设置更新为5,它可以工作,

代码语言:javascript
复制
  <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 Studio2015社区版,我还手动安装了.NET Framework4.6,以防Visual Studio2015默认安装它。

该项目是由Visual Studio2015创建的标准ASP.NET MVC模板项目。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2015-08-14 18:35:40

更改框架版本时,请注意Web.Config文件中的编译器类型:

对于4.5和C#5 -

代码语言:javascript
复制
type="Microsoft.CSharp.CSharpCodeProvider...

对于4.6和C#6 -

代码语言:javascript
复制
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

票数 91
EN

Stack Overflow用户

发布于 2017-02-03 03:57:03

更新以下NuGet软件包(以已安装的包为准)以解决此问题:

  • Microsoft.CodeDom.Providers.DotNetCompilerPlatform
  • Microsoft.Net.Compilers
票数 35
EN

Stack Overflow用户

发布于 2016-11-10 07:10:24

1.转到Project并选择您的Project属性。

2.选择Build,然后单击Advanced按钮。

3.选择语言版本默认值。

4.保存。

https://youtu.be/IP8feQeWqkk

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31868803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档