web-dev-qa-db-ja.com

エラー/ 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 Community Editionを使用しています。また、Visual Studio 2015によってデフォルトでインストールされなかった場合に備えて、.NET Framework 4.6も手動でインストールしました。

このプロジェクトは、Visual Studio 2015で作成された標準のASP.NET MVCテンプレートプロジェクトです。

78
Rosdi Kasim

フレームワークのバージョンを変更するときは、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"

このフォーラムの投稿の詳細

86
DrewB

次のNuGetパッケージ(インストールされている方)を更新して、問題を解決します。

  • Microsoft.CodeDom.Providers.DotNetCompilerPlatform
  • Microsoft.Net.Compilers
23
Developer

1.プロジェクトに移動し、プロジェクトのプロパティを選択します。

2 [ビルド]を選択し、[詳細設定]ボタンをクリックします。

3.言語バージョンのデフォルトを選択します。

4.保存します。

https://youtu.be/IP8feQeWqkk

プロジェクトがVS2015に完全にアップグレードされていない場合、このような動作に遭遇しました。 VS2013で2015年からソリューションを開いた場合-このエラーが発生します

3
Sergii Lischuk

ASP.NETの奇妙なコンパイルエラー!への回答を参照してください。

C#言語を5にダウングレードしても、誰かがC#6の機能を使用するとすぐにWebサイト/プロジェクトが中断し、修正に時間を費やします。リンクで解決策を試してください。

0
PBo