【问题标题】:How do I run C# 4.0 compiler with CSharpCodeProvider class?如何使用 CSharpCodeProvider 类运行 C# 4.0 编译器?
【发布时间】:2010-05-25 01:05:55
【问题描述】:

我正在使用这个 sn-p

CSharpCodeProvider codeProvider =
   new  CSharpCodeProvider(
      new Dictionary<String, String> { { "CompilerVersion", "v3.5" } });

为3.5编译器进行动态代码编译。

我假设我应该使用"v4.0" 来切换到 4.0 编译器?

【问题讨论】:

    标签: c# .net c#-4.0 compiler-construction


    【解决方案1】:

    确实是v4.0

    【讨论】:

      【解决方案2】:

      除了指定“v4.0”外,您还需要添加引用“Microsoft.CSharp.dll”才能使用“动态”关键字。

      var codeProvider = new Microsoft.CSharp.CSharpCodeProvider(
      new Dictionary<string, string> { { "CompilerVersion", "v4.0" } });
      var parameters = new System.CodeDom.Compiler.CompilerParameters 
      {
          GenerateInMemory = true,
          GenerateExecutable = false,
          IncludeDebugInformation = true,
          TreatWarningsAsErrors = false
      };
      // Here add more referenced assemblies
      parameters.ReferencedAssemblies.Add("Microsoft.CSharp.dll");
      

      不要忘记使用 Framework 4.0+ 编译解决方案。

      我希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-10-18
        • 1970-01-01
        • 2015-04-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多