<:> Frage:
.NET -Anwendungsentwickler stehen häufig vor Herausforderungen, um die von Capture -Konsolenanwendungen generierten Ausgaben bei integrierten Konsolenanwendungen zu erfassen. Wie erfasst ich diese Ausgabe in Echtzeit ohne Abhängigkeit von Methoden auf Dateibasis?
Lösung:
Verwenden Sie das Attribut , um die Ausgabe der Konsolenanwendung in den Fluss in der .NET -Anwendung umzuleiten. implementieren:
ProcessStartInfo.RedirectStandardOutput
Die folgenden C# -Codefragmente zeigen, wie Sie die Konsolenanwendung aufrufen und ihre Ausgabe erfassen:
Erläuterung:
Speicherinformationen zu ausführbaren Dateien, die ausgeführt werden sollen.
<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>
Setzen Sie und Attribute, um die zu aufgerufene Konsolenanwendung anzugeben.
deaktivieren Sie , um den Prozess besser zu steuern.ProcessStartInfo
FileName
Lesen Sie den Fluss bis zum Ende des Endes und erfassen Sie die gesamte Ausgabe der Konsolenanwendung. Arguments
UseShellExecute
Das obige ist der detaillierte Inhalt vonWie erfassen Sie die Echtzeit-Konsolenausgabe von .NET-Anwendungen in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!