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

3

我正在使用CSharpCodeProvider将CodeDom对象编译成一个程序集。应用程序本身运行在.NET 4.0下。然而,为了与一些外部资源兼容,我需要从CompileAssemblyFromDom中获得针对.NET 2.0的输出。我该如何告诉CSharpCodeProvider构建针对.NET 2.0?

1个回答

5

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

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

编译器版本也可以通过配置文件指定。有关详细信息和示例,请参见http://msdn.microsoft.com/en-us/library/bb537926.aspx

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接