У меня есть следующий код
var parameters =
string.Format("TestSuiteDefinitions.dll /include:{0} /out:{1} /err:{2} /xml:{3}", String.Join(",", args), OutputLog, ErrorLog, ResultLog);
var p = Process.Start(GetAssemblyDirectory() + @"\NUnit\nunit-console.exe", parameters);
Что позволяет мне из моего приложения запускать отдельный процесс, запускающий консоль NUnit с нужными мне выводами. Проблема в том, что фактический вывод NUnit — это единственное, что записывается в журналы. Если процесс завершается сбоем по какой-либо другой причине, выходные данные команды, которые вы могли бы увидеть из nunit-console.exe на уровне командной строки, будут потеряны.
я пытался добавить
> CommandOutput.txt
or
| CommandOutput.txt
в конце строки параметра Process.Start, но тогда выдает ошибку, так что это не нравится.
Может ли кто-нибудь предложить, как это сделать? И я не могу использовать стандартный поток вывода процесса, поскольку вызывающий процесс должен быть закрыт, как только запускается другой процесс, поэтому он не может оставаться открытым для чтения и записи потока.