2017-01-27 1 views
-2

Ich habe eine Lösung mit wenigen Projekten.Get Project Path

Lösung 1 hat

Pro1 (MVC-Projekt), Pro2 (Klassenbibliothek) und Pro3 (Klassenbibliothek)

So verwende ich Pro 3 für den Berichtsteil und mit hkHtmlToPDF htmls für den Export als pdf. Es gibt eine exe namens hkHtmlToPdf.exe für meine Aufgabe. Aber ich habe sehr wenig Problem. Es wird ein Exe-Pfad benötigt, um den Code auszuführen. Ich möchte den physischen Pfad von Pro3 erhalten und unter dem Code verwenden, um den Pfad zu erhalten.

var myPath = System.AppDomain.CurrentDomain.BaseDirectory; 

Der obige Code gibt den Webprojektpfad zurück. Eigentlich brauche ich den Pro3-Pfad. Wie bekomme ich es?

+0

Warum ist das für Minuszeichen für die Frage? Ich suche das für 1, 2 Stunden. – weeraa

Antwort

1

Sie kennen den Namen Ihrer EXE-Datei.

string pattern = "hkHtmlToPdf.exe"; 
string dirPath = AppDomain.CurrentDomain.BaseDirectory; 
Directory.GetFiles(dirPath , pattern, SearchOption.AllDirectories); 

EDIT:
Alle Arbeiten ganz gut! Erstellen Sie 2 Konsolen-App wie folgt:

static void Main(string[] args) 
{ 
    Console.WriteLine("This exe is runned from another exe."); 
    Console.ReadKey(); 
} 
static void Main(string[] args) 
{ 
    string pattern = "ConsoleApplication1.exe"; 
    string dirPath = AppDomain.CurrentDomain.BaseDirectory; 
    var files = Directory.GetFiles(dirPath, pattern, SearchOption.AllDirectories); 
    if (files.Length > 0) Process.Start(files[0]); 
    else Debug.WriteLine("File not found"); 
    Console.ReadKey(); 
} 

Legen Sie sie in einem Ordner, App2 ausführen. Es wird App1 finden und ausführen. Auch wenn App1 im Unterordner ist!

+0

Wie bekomme ich den Pfad als String? Ich ordne var object Directory.GetFiles (dirPath, pattern, SearchOption.AllDirectories); . Es funktioniert nicht. Objektreferenzfehler ist aufgetreten. – weeraa

-1

Anstelle der Suche könnten Sie den Pfad als Konfigurationsparameter in web.config hinzufügen.

+0

Das kann nicht gemacht werden, weil ich diese Klassenbibliothek isoliere und dann jede visuelle Studio-Lösung verwenden kann. Wenn ich den Pfad zu web.config hinzufüge, hat es eine Abhängigkeit mit MVC-Webprojekt. – weeraa