.NETアプリケーションからコンソール出力を取得する
多くの状況では、.NETアプリケーション内からコンソールアプリケーションを実行して、その出力をキャプチャすることが有用です。 ただし、これを達成するために一時的なファイルの使用を避けることは難しい場合があります。
解決策:レバレッジ
ProcessStartInfo.RedirectStandardOutput
キーはプロパティです。 これを
この手法を紹介するコードの例:ProcessStartInfo.RedirectStandardOutput
true
このコードスニペットは、C#コンパイラ(
重要な注意:
完全な出力キャプチャについては、コンソールアプリケーションによって生成されたエラーまたは警告を処理するように標準エラーストリーム(<code class="language-csharp">// Initiate a new process for the console application Process compiler = new Process(); // Configure process settings compiler.StartInfo.FileName = "csc.exe"; compiler.StartInfo.Arguments = "/r:System.dll /out:sample.exe stdstr.cs"; // Enable output redirection compiler.StartInfo.UseShellExecute = false; compiler.StartInfo.RedirectStandardOutput = true; // Begin the process compiler.Start(); // Capture the output string output = compiler.StandardOutput.ReadToEnd(); // Display the captured output Console.WriteLine(output); // Wait for process completion compiler.WaitForExit();</code>)をリダイレクトすることも忘れないでください。
以上がファイルを使用せずに.NETアプリケーションからコンソール出力をキャプチャするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。