0

我在我的 C# 控制台程序中运行一个 exe 程序,如果我通过 CMD 运行它,它会写入自己的日志,并在 CMD 窗口中添加一些消息。当我在我的程序中读取标准输出时,我能够看到 CMD 消息,但是没有创建进程应该写入的日志。换句话说,我的外部进程写入它自己的日志,该日志内置在这个黑盒实用程序中,所以现在我想从我的控制台程序运行它,日志没有被创建。有没有人遇到过这个问题并对如何解决有一些建议?我不能丢失此日志,因为它是实用程序的日志;与我的程序分开。这是我的代码的片段:

ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.CreateNoWindow = false;
startInfo.UseShellExecute = false;
startInfo.FileName = processName;
startInfo.RedirectStandardOutput = true;
startInfo.Arguments = " " + dbName + " " + pw + " " + clientFile;
try
{
  using (Process exeProcess = Process.Start(startInfo))
  {
    using (StreamReader reader = exeProcess.StandardOutput)
    {
       exeProcess.Start();
       exeProcess.WaitForExit();
       string result = reader.ReadToEnd();
       Console.WriteLine(result);
    }
  }
}
catch (Exception e)
{
  Console.WriteLine("Error: " + e);
}
4

1 回答 1

0

该过程完成后,您必须阅读结果:

 exeProcess.Start();
 exeProcess.WaitForExit();
 string result = reader.ReadToEnd();
 Console.WriteLine(result);
于 2013-09-06T15:11:54.990 回答