我在我的 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);
}