是否可以使用 CSharpCodeProvider 从 .net3.5 应用程序定位 .net4 编译器?
我正在尝试使用 .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));
}
I'm trying to compile a .cs file using a CSharpCodeProvider from a .net 3.5 app and I want to target the .net4 compiler but I'm getting this error "Compiler executable file csc.exe cannot be found". I have .net4 installed. Below is the code that I'm using with some lines omitted for brevity. When I set CompilerVersion to "v3.5" I get no errors.
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));
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为您可以强制使用.NET 4.0 中的 csc v3.5。
但反之则不然。
(我可能是错的)。
I think you can force using csc v3.5 from .NET 4.0.
But not vice versa.
(I can be wrong).