我正在尝试使用来自.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));
}
答案 0 :(得分:4)
我认为您可以强制使用.NET 4.0中的csc v3.5。
但反之亦然。
(我可能错了)。