/langversion (準拠構文) (C# コンパイラ オプション)
更新 : 2007 年 11 月
コンパイラが、ISO/IEC 23270:2003 C# の言語仕様に含まれている構文のみを受け入れるようにします。
/langversion:option
引数
option
option が ISO-1 の場合、コンパイラは ISO/IEC 23270:2003 C# の言語仕様に含まれていない構文に対してエラーを生成します。option が ISO-2 の場合、コンパイラは ISO/IEC 23270:2006 C# の言語仕様に含まれていない構文に対してエラーを生成します。
option が default の場合、コンパイラは有効なすべての構文を受け入れます。既定値は /langversion:default です。
解説
C# 仕様のバージョン 1.0 は、/langversion:ISO-1 で利用できる機能を表しています。Visual Studio Developer Center には、すべての仕様が Microsoft Word ファイルとして登録されています。ISO/IEC 23270:2006 の仕様は、http://standards.iso.org/ittf/PubliclyAvailableStandards/c042926_ISO_IEC_23270_2006(E).zip で入手できます。
C# アプリケーションによって参照されるメタデータは、/langversion コンパイラ オプションの影響を受けません。
C# コンパイラの各バージョンには言語仕様の拡張機能が含まれているため、/langversion は、コンパイラの以前のバージョンと同等の機能を提供しません。
どの /langversion 設定を使用する場合でも、.exe や .dll を作成するには、共通言語ランタイムの現在のバージョンを使用します。ただし、/langversion:ISO-1 に従って動作するフレンド アセンブリと /moduleassemblyname (モジュールに対するフレンド アセンブリの指定) (C# コンパイラ オプション) は例外です。
Visual Studio 開発環境でこのコンパイラ オプションを設定するには
プロジェクトの [プロパティ] ページを開きます。詳細については、「方法 : ビルドのプロパティを設定する (C#)」を参照してください。
[ビルド] プロパティ ページをクリックします。
[詳細] をクリックします。
[言語バージョン] プロパティを変更します。
このコンパイラ オプションをプログラムで設定する方法については、「LanguageVersion」を参照してください。