我正在尝试使用 .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));
}