我可以使用以下 C# 代码运行控制台进程。目标也是收集此类过程的所有输出:
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.Arguments = commandLine;
proc.StartInfo.FileName = "signtool.exe";
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.UseShellExecute = false;
proc.Start();
if (proc.WaitForExit(10000))
{
Debug.WriteLine(proc.StandardOutput.ReadToEnd());
}
我收到的是这样的:
"完成添加附加存储\r\n"
但是,当我从 Windows 命令行执行相同操作时,我得到以下信息:
Done Adding Additional Store
SignTool Error: File not found: C:\SomeBadFile.exe
为什么我的代码只得到第一行输出?