【发布时间】:2011-10-11 04:35:55
【问题描述】:
我正在尝试构建一个将不同语言转换为 C# 代码的 C# 程序。我的程序工作正常,转换代码并将其写入 .cs 文件。我想让这个文件自动编译并运行,但是我不知道如何用 C# 来做到这一点。
我可以通过简单地运行我编写的批处理文件来手动完成,我尝试使用 System.Diagnostics.Process 类从 C# 运行这个批处理文件。当它运行时,它在批处理代码本身中出现错误,说没有找到任何命令(通常的“不是可执行文件,批处理文件等”)。我不知道为什么它可以正常运行,但从 C# 运行时却不行。
这是批处理文件的代码: C:\Program_Files_(x86)\Microsoft_Visual_Studio 10.0\VC\bin\amd64\vcvars64.bat csc %1.cs 暂停
以及调用它的函数:
System.Diagnostics.Process process = new System.Diagnostics.Process();
process.StartInfo.FileName = "compiler\\compile.bat";
process.StartInfo.Arguments = " "+fileName;
process.Start();
process.WaitForExit();
process.StartInfo.FileName = fileName + ".exe";
process.Start();
process.WaitForExit();
Console.WriteLine("done");
任何帮助将不胜感激。
【问题讨论】:
标签: c# batch-file compilation csc