CSharpCodeProvider从.NET 4.0应用程序输出.NET 2.0程序集

CSharpCodeProvider从.NET 4.0应用程序输出.NET 2.0程序集,.net,codedom,.net,Codedom,我正在使用CSharpCodeProvider将CodeDom对象编译成程序集。应用程序本身在.NET4.0下运行。但是,我需要CompileAseMblyFromDOM的输出,以便根据.NET 2.0进行构建,以与一些外部资源兼容。如何告诉CSharpCodeProvider根据.NET 2.0构建?您可以通过CSharpCodeProvider构造函数提供编译器版本作为选项,该构造函数采用providerOptions(IDictionary)参数。如果您使用的是CodeDomProvide

我正在使用CSharpCodeProvider将CodeDom对象编译成程序集。应用程序本身在.NET4.0下运行。但是,我需要CompileAseMblyFromDOM的输出,以便根据.NET 2.0进行构建,以与一些外部资源兼容。如何告诉CSharpCodeProvider根据.NET 2.0构建?

您可以通过CSharpCodeProvider构造函数提供编译器版本作为选项,该构造函数采用providerOptions(IDictionary)参数。如果您使用的是CodeDomProvider.CreateProvider,则可以使用其类似的重载。e、 g:

using (CodeDomProvider provider = CodeDomProvider.CreateProvider(
    "CSharp",
    new Dictionary<string, string>() { { "CompilerVersion", "v2.0" } }))
{
    //...
}
使用(CodeDomProvider provider=CodeDomProvider.CreateProvider)(
“CSharp”,
新字典(){{“CompilerVersion”,“v2.0”})
{
//...
}
还可以通过配置文件指定编译器版本。有关详细信息和示例,请参见