.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テンプレートプロジェクトです。
フレームワークのバージョンを変更するときは、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"
次のNuGetパッケージ(インストールされている方)を更新して、問題を解決します。
1.プロジェクトに移動し、プロジェクトのプロパティを選択します。
2 [ビルド]を選択し、[詳細設定]ボタンをクリックします。
3.言語バージョンのデフォルトを選択します。
4.保存します。
プロジェクトがVS2015に完全にアップグレードされていない場合、このような動作に遭遇しました。 VS2013で2015年からソリューションを開いた場合-このエラーが発生します
ASP.NETの奇妙なコンパイルエラー!への回答を参照してください。
C#言語を5にダウングレードしても、誰かがC#6の機能を使用するとすぐにWebサイト/プロジェクトが中断し、修正に時間を費やします。リンクで解決策を試してください。