3

CSharpCodeProviderpassCompilerVersionパラメータを使用した典型的なコード サンプル。ここからのコード:

var codeProvider =
    new CSharpCodeProvider(
       new Dictionary<String, String> { { "CompilerVersion", "v3.5" } });

空の辞書を渡そうとしましたが、パラメーターなしのコンストラクターを呼び出そうとしましたがCSharpCodeProvider、結果は同じです。

では、`CompilerVersion を指定しないと、内部的にはどうなるのでしょうか? ほとんどのサンプルで常に指定されているのはなぜですか?

4

1 に答える 1

2

ドキュメントには、machine.configまたはweb.configフレームワーク構成フォルダーで指定された から取得すると記載されています。

たとえば、私の Framework64/config/web.config ファイルには次のものが含まれています。

<compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
        <providerOption name="CompilerVersion" value="v4.0"/>
        <providerOption name="WarnAsError" value="false"/>
    </compiler>
于 2013-10-16T10:16:48.703 に答える