private void ProcessOnOutputDataReceived(object sender, DataReceivedEventArgs e) { if (e.Data == null) { OutputWaitHandle.Set(); } else { ConsoleOutBuilder.AppendLine(e.Data); } }
public void Dispose() { _process.OutputDataReceived -= ProcessOnOutputDataReceived; _process.ErrorDataReceived -= ProcessOnErrorDataReceived; OutputWaitHandle.Dispose(); ErrorWaitHandle.Dispose(); if (!_process.HasExited) { KillProcess(); } }