私は次のコードを持っています
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
また
| CommandOutput.txt
Process.Startパラメータ文字列の最後にありますが、エラーがスローされるため、それは気に入らないのです。
誰かがこれを行う方法を提案できますか?また、他のプロセスが起動されるとすぐに呼び出しプロセスをシャットダウンする必要があるため、プロセスの標準出力ストリームを使用できません。そのため、ストリームの読み取りと書き込みを開いたままにすることはできません。