Ausgabe von .NET -Anwendungen abrufen In vielen Situationen ist es nützlich, eine Konsolenanwendung aus einer .NET -Anwendung auszuführen und deren Ausgabe zu erfassen. Es kann jedoch schwierig sein, die Verwendung temporärer Dateien zu vermeiden, um dies zu erreichen.
Die Lösung: Nutzung
ProcessStartInfo.RedirectStandardOutput
Der Schlüssel ist die
einstellen, leitet der Standardausgangsstrom der Konsolenanwendung direkt in Ihre .NET -Anwendung um. ProcessStartInfo.RedirectStandardOutput
true
Hier ist ein Code -Beispiel, das diese Technik zeigt:
Dieser Code -Snippet führt den C# Compiler (
<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>
csc.exe
Für die vollständige Ausgangsaufnahme können Sie auch den Standardfehlerstrom () umleiten, um alle von der Konsolenanwendung generierten Fehler oder Warnungen zu behandeln.
Das obige ist der detaillierte Inhalt vonWie kann ich die Konsolenausgabe von einer .NET -Anwendung erfassen, ohne Dateien zu verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!