Mögliche Duplikate:
Getting the Pfad der aktuellen Baugruppe
C #: Wie bekomme ich den Pfad der Assembly, in der sich der Code befindet?
Wie kann ich mit VB 2008 den Dateinamen einer laufenden .EXE von innen heraus erhalten?
BEARBEITEN : Dies ist für eine Konsolen-App, daher funktioniert Application.ExecutablePath
nicht.
Dies wurde beantwortet vorher .
Von überall in Ihrem Code könnten Sie sich in einer Assembly befinden, die von der ursprünglichen EXE geladen wurde. Sie haben möglicherweise auch keinen Verweis auf den Anwendungs-Singleton, daher ist die Verwendung der Assembly-Klasse die beste Wahl.
Der sicherste Weg ist Assembly.GetEntryAssembly () .Location wird abgerufen der Speicherort im Dateisystem, auf dem sich die Assembly derzeit befindet. Wenn Schattenkopien kopiert werden, ist dies der Speicherort für die Schattenkopie. Wenn es einmal pro Klick bereitgestellt wird, ist dies ein verrückter Pfad zu einer Datei in der Sandbox Bereich.
Der ursprüngliche Speicherort der Assembly ist Assembly.GetEntryAssembly (). Codebase
Process.GetCurrentProcess () .MainModule
Bearbeiten
Eine andere Möglichkeit wäre die Verwendung von Environment.GetCommandLineArgs () [0], aber ich bevorzuge die Verwendung von Process.
Sie sollten es in der Eigenschaft finden: Application.ExecutablePath
Tags und Links vb.net