3

CSharpCodeProvider を使用して、CodeDom オブジェクトをアセンブリにコンパイルしています。アプリケーション自体は .NET 4.0 で実行されています。ただし、一部の外部リソースとの互換性のために、.NET 2.0 に対してビルドするには、CompileAssemblyFromDom からの出力が必要です。CSharpCodeProvider に .NET 2.0 に対してビルドするように指示するにはどうすればよいですか?

4

1 に答える 1

5

providerOptions (IDictionary) 引数を取る CSharpCodeProvider コンストラクターを介して、コンパイラ バージョンをオプションとして提供できます。CodeDomProvider.CreateProvider を使用している場合は、同様のオーバーロードを使用できます。例えば:

using (CodeDomProvider provider = CodeDomProvider.CreateProvider(
    "CSharp",
    new Dictionary<string, string>() { { "CompilerVersion", "v2.0" } }))
{
    //...
}

コンパイラのバージョンは、構成ファイルを介して指定することもできます。詳細と例については、http://msdn.microsoft.com/en-us/library/bb537926.aspxを参照してください。

于 2010-09-20T13:47:10.573 に答える