次の方法で共有


<compiler> 要素

更新 : 2007 年 11 月

言語プロバイダのコンパイラ設定属性を指定します。

<configuration> 要素
  <system.codedom> 要素
    <compilers> 要素
      <compiler> 要素

<compiler
  language="languageName[;...;...]"
  extension="fileExtension[;...;...]"
  type="typeName, assemblyName"
  warningLevel="number"
  compilerOptions="option1 option2"
/>

属性と要素

以降のセクションでは、属性、子要素、および親要素について説明します。

属性

属性

説明

compilerOptions

省略可能な属性です。

コンパイル用のその他のコンパイラ固有引数を指定します。compilerOptions 属性の値については、通常、コンパイラのコンパイラ オプションのトピックで説明されています。Visual Studio 2005 のドキュメントで「コンパイラ オプション」というキーワードを検索すると、コンパイラのオプションについての説明を見つけることができます。

extension

必須の属性です。

言語プロバイダのソース ファイルで使用されるファイル名拡張子のセミコロン区切りのリストを指定します。たとえば、".cs" とします。

language

必須の属性です。

言語プロバイダでサポートされる言語名のセミコロン区切りのリストを指定します。たとえば、"c#;cs;csharp" とします。

type

必須の属性です。

言語プロバイダの型名と、プロバイダの実装が含まれているアセンブリの名前を指定します。型名は、「完全修飾型名の指定」で定義されている要件を満たす必要があります。

warningLevel

省略可能な属性です。

既定のコンパイラの警告レベルを指定します。言語プロバイダがコンパイラの警告をエラーとして扱うレベルを決定します。

子要素

なし。

親要素

要素

説明

<configuration> 要素

共通言語ランタイムおよび .NET Framework アプリケーションで使用されるすべての構成ファイルのルート要素です。

<system.codedom> 要素

利用可能な言語プロバイダ用のコンパイラ構成設定を指定します。

<compilers> 要素

コンパイラの設定要素用のコンテナです。0 個以上の <compiler> 要素が含まれます。

解説

各 <compiler> 要素では、特定の言語プロバイダ用のコンパイラ設定属性を指定します。プロバイダでは、特定の言語用に System.CodeDom.Compiler.CodeDomProvider クラスを拡張します。<compiler> 要素では、言語プロバイダ用にコンパイラとコード ジェネレータの設定を定義します。

.NET Framework では、マシン構成ファイル (Machine.config) 内にコンパイラの初期設定が定義されています。開発者やコンパイラの販売元では、新しい CodeDomProvider 実装用に構成の設定を追加できます。コンピュータ上の言語プロバイダおよびコンパイラの構成の設定をプログラムで列挙するには、CodeDomProvider.GetAllCompilerInfo メソッドを使用します。

アプリケーションまたは Web の構成ファイル内のコンパイラ要素によって、マシン構成ファイル内の設定を補足またはオーバーライドできます。複数のプロバイダ実装で同じ言語名または同じファイル拡張子が設定されている場合は、最後に一致した設定で、その言語名またはファイル拡張子のそれまでの設定済みプロバイダがオーバーライドされます。

構成ファイル

この要素は、マシン構成ファイルとアプリケーション構成ファイルで使用できます。

使用例

一般的なコンパイラ設定要素を次の例に示します。

<configuration>
  <system.codedom>
    <compilers>
      <!-- zero or more compiler elements -->
      <compiler
        language="c#;cs;csharp"
        extension=".cs"
        type="Microsoft.CSharp.CSharpCodeProvider, System, 
          Version=2.0.3600.0, Culture=neutral, 
          PublicKeyToken=b77a5c561934e089"
        compilerOptions="/optimize"
        warningLevel="1" />
    </compilers>
  </system.codedom>
</configuration>

参照

概念

完全修飾型名の指定

参照

CompilerInfo

CodeDomProvider

<compilers> 要素

compilation の compilers の compiler 要素 (ASP.NET 設定スキーマ)

その他の技術情報

.NET Framework の構成ファイル スキーマ