process.StandardError не перенаправляет выходные данные на процесс. - PullRequest
0 голосов
/ 18 января 2019

Эй, ребята, у меня на самом деле две проблемы. Когда я использую process.StandardError, я получаю тот же результат, что и при использовании process.StandardOutput. Почему это так?

Дополнительно, когда я использую process.StandardError, он записывается в окно консоли, тогда как он записывается в мой buglist.txt, когда я использую process.StandardOutput. Какие-либо предложения?

//Make Screenshot of Client Setup 
OutputHandler.ColorCMDOutput("           + Make a Screenshot", 
ConsoleColor.Gray);
Process makeScreenshot = new Process();
makeScreenshot.StartInfo.FileName = screenShotTool;
makeScreenshot.StartInfo.Arguments = "/f \"" + testResult + "\\Screenshots\\" + screenShotName + ".png\"";
makeScreenshot.StartInfo.UseShellExecute = false;
makeScreenshot.StartInfo.RedirectStandardError = true;
makeScreenshot.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
makeScreenshot.Start();

//Start StreamReader
StreamReader myStreamReader = makeScreenshot.StandardError;
string error = makeScreenshot.StandardError.ReadToEnd();

//Read the standard error
OutputHandler.AppendDataToFile(buglist, error);

makeScreenshot.WaitForExit();
makeScreenshot.Dispose();
...