<providerOption> 要素

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

<configuration>
  <system.codedom>
    <compilers>
      <compiler>
        <providerOption>

構文

<providerOption  
  name="option-name"  
  value="option-value"  
/>  

属性および要素

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

属性

属性 説明
name 必須の属性です。

オプションの名前を指定します (例: "CompilerVersion")。
value 必須の属性です。

オプションの値を指定します (例: "v3.5")。

子要素

なし。

親要素

要素 説明
<configuration> 要素 共通言語ランタイムおよび .NET Framework アプリケーションで使用されるすべての構成ファイルのルート要素です。
<system.codedom> 要素 使用可能な言語プロバイダーのコンパイラ構成設定を指定します。
<compilers> 要素 0 個以上の <compiler> 要素を含むコンパイラ構成要素のコンテナー。
<compiler> 要素 言語プロバイダーのコンパイラ構成属性を指定します。

解説

.NET Framework バージョン 3.5 では、Code Document Object Model (CodeDOM) コード プロバイダーは、<providerOption> 要素を使用してプロバイダー固有のオプションをサポートできます。

.NET Framework 3.5 には更新された .NET Framework 2.0 アセンブリが含まれており、新しい型を含む新しい Version 3.5 アセンブリが用意されています。 Microsoft C# および Visual Basic コード プロバイダーは .NET Framework 2.0 アセンブリに含まれていますが、Version 3.5 コンパイラをサポートするように更新されています。 既定では、更新されたコード プロバイダーは Version 2.0 コンパイラのコードを生成します。 <providerOption> 要素を使用して、ターゲット コンパイラのバージョンを 3.5 に変更できます。 これを行うには、name 属性に "CompilerVersion" を指定し、value 属性に "v3.5" を指定します。 バージョン番号の前には、小文字の "v" を使用する必要があります。

.NET Framework 2.0 の Machine.config ファイルまたはルート Web.config ファイルに <providerOption> 要素を追加することで、バージョン指定をグローバルにすることができます。 Machine.config ファイルで既定のコンパイラのバージョンを 3.5 に更新した場合は、アプリケーション構成ファイルの <providerOption> 要素を使用して、アプリケーションごとに 2.0 に戻すことができます。

CodeDOM コード プロバイダーの実装者は、IDictionary<TKey,TValue> 型の providerOptions パラメーターを受け取るコンストラクターを指定することによって、カスタム オプションを処理できます。

次の例は、C# コード プロバイダーの Version 3.5 を使用するように指定する方法を示しています。

<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" >  
          <providerOption  
            name="CompilerVersion"  
            value="v3.5" />  
      </compiler>  
    </compilers>  
  </system.codedom>  
</configuration>  

関連項目