【问题标题】:CSharpCodeProvider output .NET 2.0 assembly from .NET 4.0 applicationCSharpCodeProvider 从 .NET 4.0 应用程序输出 .NET 2.0 程序集
【发布时间】:2010-09-17 21:23:10
【问题描述】:

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

【问题讨论】:

    标签: .net codedom


    【解决方案1】:

    您可以通过采用 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多