簡體   English   中英

如何使用CSharpCodeProvider類運行C#4.0編譯器?

[英]How do I run C# 4.0 compiler with CSharpCodeProvider class?

我正在使用這個片段

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

用於動態代碼編譯的3.5編譯器。

我假設我應該使用"v4.0"切換到4.0編譯器?

除了指定“v4.0”之外,您還需要添加引用“Microsoft.CSharp.dll”以使用“dynamic”關鍵字。

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+編譯解決方案。

我希望這有幫助。

確實是v4.0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM