Я пытаюсь перенаправить стандартный вывод ошибок в F #
let RunProcess (processInfo : ProcessStartInfo) =
let str = StringBuilder()
processInfo.UseShellExecute <- false
processInfo.RedirectStandardOutput <- true
processInfo.RedirectStandardError <- true
let p = new Process()
p.StartInfo <- processInfo
p.OutputDataReceived.Add(fun x -> str.Append(x.Data + Environment.NewLine) |> ignore)
p.ErrorDataReceived.Add(fun x -> str.Append(x.Data + Environment.NewLine) |> ignore)
p.Start() |> ignore
p.BeginOutputReadLine()
p.BeginErrorReadLine()
str.ToString()
Когда я это делаю, ничего не происходит.
Однако, когда я устанавливаю для processInfo.RedirectStandardOutput значение false, отображаютсямоя консоль.