如何使用C#选择CodeDom编译器的目标框架?

所以我有一个用C#编写的CodeDOM编译器,它应该根据其中一个资源编译另一个应用程序。 我如何更改资源(或编译器的输出可执行文件)的目标.NET框架?

您可以使用以下构造函数将选项传递给编译器:

var providerOptions = new Dictionary(); providerOptions.Add("CompilerVersion", "v3.5"); var compiler = new CSharpCodeProvider(providerOptions); ... 

您需要在编译器的设置字典中指定它,例如:

 var settings = new Dictionary(); settings.Add("CompilerVersion", "v3.5"); var compiler = new CSharpCodeProvider(settings); 

不出所料,谷歌已经提出了几个例子; 在这里和这里 。