2016-08-15 2 views
-1

Helle, ich habe zwei Projekte (Project1 & Project2) und ich versuche Project1 innerhalb von Project2 laufen zu lassen.kann keine exe im Referenzprojekt finden

Ich habe ein Formular (Form1) in einem Projekt (Project1) erstellt und kompiliert. Dann habe ich die .exe-Datei aus project1 hinzufügen, indem Sie sie als Referenz in den Ordner Verweise in Projektmappen-Explorer auf project2, erklärt i einen Namespace

using Project1; 

und versuchte, mit dem folgenden Code aufzurufen:

System.Diagnostics.Process LoadProcess = new System.Diagnostics.Process(); 
LoadProcess.StartInfo.FileName = "Project1.Form1"; 
LoadProcess.Start(); 

Dann bekomme ich die Fehlermeldung kann Datei nicht finden.

+0

Nun, haben Sie eine Datei auf der Festplatte mit dem Namen 'Project1.Form1', die ausgeführt werden kann? –

+4

Wenn Sie bereits einen Verweis auf die ausführbare Datei mit diesem Formular haben, können Sie das nicht einfach tun: 'new Project1.Form1();'? –

+0

mit Dank erhalten. – Tinashe

Antwort

0

Wenn Sie die Project1 mit einer Process wirklich starten möchten, brauchen Sie die Referenz im Solution Explorer nicht wirklich.

Alles, was Sie brauchen, ist Ihr * .exe-Datei der kompilierten Project1 zu setzen, die wahrscheinlich Project1.exe in den gleichen Ordner genannt wird, wo Project2.exe ist. Danach diese Zeile ändern:

LoadProcess.StartInfo.FileName = "Project1.exe"; 

Der Prozess einen echten Dateinamen mit der Erweiterung benötigt. Oder der gesamte Pfad zu dieser Datei, wenn sie sich in einem anderen Ordner befindet.

Aber wenn Sie bereits eine Referenz haben, würde ich Lasse V. Karlsen führen. Die Lösung aus seinem Kommentar ist eine viel elegantere und einfachere Lösung. Verwenden Sie einfach die Form1 in Ihrem Code.

Verwandte Themen