开发者

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

开发者 https://www.devze.com 2022-12-31 06:39 出处:网络
I\'m using this snippet CSharpCodeProvider codeProvider = newCSharpCodeProvider( new Dictionary<String, String> { { \"CompilerVersion\", \"v3.5\" } });

I'm using this snippet

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

for the 3.5 compiler for dynamic code compilation.

I'm ass开发者_开发百科uming I should use "v4.0" to switch to the 4.0 compiler?


It is indeed v4.0


Besides specifying "v4.0", you will need to add the reference "Microsoft.CSharp.dll" in order to use the "dynamic" keyword.

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");

Don't forget to compile the solution using the Framework 4.0+.

I hope this helps.

0

精彩评论

暂无评论...
验证码 换一张
取 消