我正在使用 CSharpCodeProvider 将 CodeDom 对象编译为程序集。应用程序本身在 .NET 4.0 下运行。但是,我需要 CompileAssemblyFromDom 的输出来针对 .NET 2.0 进行构建,以便与某些外部资源兼容。如何告诉 CSharpCodeProvider 针对 .NET 2.0 构建?
问问题
613 次
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 回答