是否可以使用CSharpCodeProvider从.net3.5应用程序中定位.net4编译器?

时间:2011-12-26 00:41:29

标签: c# .net csharpcodeprovider

我正在尝试使用来自.net 3.5应用程序的CSharpCodeProvider编译.cs文件,我想要定位.net4编译器,但我收到此错误“无法找到编译器可执行文件csc.exe”。我安装了.net4。下面是我正在使用的代码,为简洁省略了一些行。当我将CompilerVersion设置为“v3.5”时,我没有错误。

CompilerResults results = null;
using (CSharpCodeProvider provider = new CSharpCodeProvider(new Dictionary<string, string>() {{"CompilerVersion", "v4.0"},}))
{
    CompilerParameters options = new CompilerParameters(); 
    ...
    results = provider.CompileAssemblyFromFile(options, Directory.GetFiles(path, "*.cs", SearchOption.AllDirectories));
}

1 个答案:

答案 0 :(得分:4)

我认为您可以强制使用.NET 4.0中的csc v3.5。

但反之亦然。

(我可能错了)。