1. ホーム
  2. c#

[解決済み] .NETアプリケーションからコンソール出力をキャプチャする(C#)

2022-05-14 11:42:03

質問

.NET アプリケーションからコンソール アプリケーションを起動し、コンソールに生成されたすべての出力をキャプチャするにはどうすればよいですか。

(ライブとして受け取りたいので、まず情報をファイルに保存し、その後再リスト化したくないことを思い出してください)。

どのように解決するのですか?

これは、非常に簡単に ProcessStartInfo.RedirectStandardOutputを使用すると、非常に簡単に実現できます。 プロパティを使用すると、非常に簡単に実現できます。唯一の注意点は、アプリケーションのすべての出力を見るために、標準エラー ストリームもリダイレクトする必要があるかもしれないことです。

Process compiler = new Process();
compiler.StartInfo.FileName = "csc.exe";
compiler.StartInfo.Arguments = "/r:System.dll /out:sample.exe stdstr.cs";
compiler.StartInfo.UseShellExecute = false;
compiler.StartInfo.RedirectStandardOutput = true;
compiler.Start();    

Console.WriteLine(compiler.StandardOutput.ReadToEnd());

compiler.WaitForExit();