Wie kann ich den Pfad der Anwendung in einer .NET-Konsolenanwendung abrufen?

Wie finde ich den Pfad der Anwendung in einer Konsolenanwendung?

In Windows Forms kann ich Application.StartupPath verwenden, um den aktuellen Pfad zu finden, aber dies scheint in einer Konsolenanwendung nicht verfügbar zu sein.

Lösung

System.Reflection.Assembly.GetExecutingAssembly().Location1

Kombinieren Sie dies mit System.IO.Path.GetDirectoryName, wenn Sie nur das Verzeichnis benötigen.

1Gemäß dem Kommentar von Mr.Mindor: System.Reflection.Assembly.GetExecutingAssembly().Locationgibt zurück, wo sich die ausführende Assembly gerade befindet, was nicht unbedingt der Ort sein muss, an dem sich die Assembly befindet, wenn sie nicht ausgeführt wird. Im Falle von Schattenkopien von Assemblies erhalten Sie einen Pfad in einem temporären Verzeichnis. [System.Reflection.Assembly.GetExecutingAssembly().CodeBase]4 gibt den "permanenten" Pfad der Assembly zurück.

Kommentare (18)

Sie können den folgenden Code verwenden, um das aktuelle Anwendungsverzeichnis zu ermitteln.

AppDomain.CurrentDomain.BaseDirectory
Kommentare (6)

Vielleicht möchten Sie dies tun:

System.IO.Path.GetDirectoryName(
    System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)
Kommentare (0)