Ich bin mir nicht sicher, wie diese Frage zu formulieren, also bitte bitte mit mir.Aufrufen einer Main() in einer anderen .exe und Erstellen eines angeschlossenen Konsolenfensters
Ich erstelle eine Sandbox, um .exes mit verschiedenen Berechtigungen auszuführen. Im Grunde baue ich auf das Beispiel in diesem Artikel: https://msdn.microsoft.com/en-us/library/bb763046(v=vs.110).aspx
Vor dem Re-Design, ich bin dabei zu erwähnen, hatte mein Projekt eine Konsolenanwendung Ausgabetyp (Projekt-> Eigenschaften-> Anwendung-> Ausgabetyp) obwohl es hauptsächlich ein WPF-Projekt war. Dies führte dazu, dass sowohl ein Konsolenfenster als auch meine GUI zu Beginn des Programms angezeigt wurden.
Wenn Sie eine Konsolenanwendung in der Sandbox ausführen, wird die Ausgabe in das bereits geöffnete Konsolenfenster geschrieben und nicht ein weiteres mit der zu testenden EXE verknüpft. Ich versuche, dies zu vermeiden, und würde meinen Ausgabetyp lieber als Windows-Anwendung behalten, um zu verhindern, dass ein unnötiges Konsolenfenster geöffnet wird.
Soweit ich sagen kann, ist die Ausgabe von dieser Codezeile stammt:
target.EntryPoint.Invoke(null, parameters);
Dies führt die Main(string[] args)
Methode in meinem Exe unter Test, aber es nicht seine eigene Konsole laichen Fenster und Fehler folgen schnell. Gibt es eine Möglichkeit, ein Konsolenfenster zu erstellen und den erstellten Prozess anzuhängen?
Danke, Änderungen und Fragen willkommen
P. S. Wenn der Ausgabetyp auf eine Konsolenanwendung eingestellt ist, laden andere Ausgabetypen (z. B. Formulare und WPF-Projekte) ihre jeweiligen GUIs vollkommen in Ordnung.
kann ein Prozess nur ein Konsolenfenster haben. Das musst du in deinem Design berücksichtigen. –