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

Lom*_*man 6 .net c# 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));
}
Run Code Online (Sandbox Code Playgroud)

aba*_*hev 4

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

但反之则不然。

(我可能是错的)。