<:> Soalan:
.NET Pemaju aplikasi sering menghadapi cabaran untuk menangkap output yang dihasilkan oleh aplikasi konsol menangkap apabila aplikasi konsol bersepadu. Bagaimana untuk menangkap output ini dalam masa nyata tanpa pergantungan pada kaedah berasaskan fail?
Penyelesaian:
Gunakan atribut untuk mengalihkan output aplikasi konsol ke aliran dalam aplikasi .NET. pelaksanaan:
ProcessStartInfo.RedirectStandardOutput
serpihan kod C#berikut menunjukkan cara memanggil aplikasi konsol dan menangkap outputnya:
Penjelasan:
Maklumat penyimpanan mengenai fail yang boleh dilaksanakan untuk dilaksanakan.
<code class="language-csharp">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(); string output = compiler.StandardOutput.ReadToEnd(); Console.WriteLine(output); compiler.WaitForExit();</code>
set dan atribut untuk menentukan aplikasi konsol yang akan dipanggil.
Lumpuhkan untuk mengawal proses dengan lebih baik.ProcessStartInfo
FileName
Baca aliran sehingga akhir, tangkap semua output aplikasi konsol. Arguments
UseShellExecute
Atas ialah kandungan terperinci Bagaimana untuk menangkap output konsol masa nyata dari aplikasi .NET di C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!