Ausführbaren Pfad abrufen in C#

Muhammad Maisam Abbas 16 Februar 2024
  1. Ausführbaren Pfad mit der Klasse Assembly in C# ermitteln
  2. Ausführbaren Pfad mit der Klasse AppDomain in C# abrufen
  3. Holen Sie sich einen ausführbaren Pfad mit der Klasse Path in C#
Ausführbaren Pfad abrufen in C#

In diesem Tutorial werden die Methoden vorgestellt, mit denen der ausführbare Pfad unseres Codes in C# abgerufen werden kann.

Ausführbaren Pfad mit der Klasse Assembly in C# ermitteln

Die Klasse Assembly stellt eine Assembly dar, die ein wiederverwendbarer Baustein einer Common-Language-Runtime-CLR-Anwendung in C# ist. Mit der Funktion Assembly.GetEntryAssembly() wird die Assembly des aktuell ausgeführten Codes abgerufen. Wir können den Pfad des aktuell ausgeführten Codes mit der Eigenschaft Assembly.GetEntryAssembly().Location abrufen, die den ausführbaren Pfad des Stroms in einer Zeichenkettenvariablen zurückgibt. Siehe das folgende Codebeispiel.

using System;
using System.IO;
using System.Reflection;
namespace executable_path {
  class Program {
    static void Main(string[] args) {
      string execPath = Assembly.GetEntryAssembly().Location;
      Console.WriteLine(execPath);
    }
  }
}

Ausgabe:

C:\Debug\destroy object.exe

Im obigen Code haben wir den ausführbaren Pfad unseres aktuellen Codes mit der Klasse Assembly in C# angezeigt. Wir haben den von der Eigenschaft Assembly.GetEntryAssembly().Location zurückgegebenen Wert in der Zeichenkettenvariablen execPath gespeichert und dem Benutzer angezeigt.

Ausführbaren Pfad mit der Klasse AppDomain in C# abrufen

Die obige Methode gibt uns den Pfad zusammen mit dem Namen der ausführbaren Datei. Wenn wir den Namen des Verzeichnisses ohne den Namen der ausführbaren Datei erhalten möchten, können wir die Klasse AppDomain in C# verwenden. Die Klasse AppDomain repräsentiert eine Anwendungsdomäne. Eine Anwendungsdomäne ist eine isolierte Umgebung, in der Anwendungen ausgeführt werden. Die Eigenschaft AppDomain.CurrentDomain ruft die Anwendungsdomäne der aktuellen Anwendung ab. Wir können den ausführbaren Pfad mit der Eigenschaft AppDomain.CurrentDomain.BaseDirectory abrufen, die den Pfad des Verzeichnisses zurückgibt, der die ausführbare Datei der aktuellen Codedatei in einer Zeichenkettenvariablen enthält. Das folgende Codebeispiel zeigt uns, wie wir den ausführbaren Pfad unseres aktuellen Codes mit der Klasse AppDomain in C# abrufen können.

using System;
using System.IO;
using System.Reflection;
namespace executable_path {
  class Program {
    static void Main(string[] args) {
      string execPath = AppDomain.CurrentDomain.BaseDirectory;
      Console.WriteLine(execPath);
    }
  }
}

Ausgabe:

C:\Debug\

Im obigen Code haben wir den ausführbaren Pfad unseres aktuellen Codes mit der Klasse AppDomain in C# angezeigt. Wir haben den von der Eigenschaft AppDomain.CurrentDomain.BaseDirectory zurückgegebenen Wert in der Zeichenkettenvariablen execPath gespeichert und dem Benutzer angezeigt. Dieser Ansatz wird empfohlen, da er am einfachsten ist und weniger Code erfordert als die beiden anderen Ansätze.

Holen Sie sich einen ausführbaren Pfad mit der Klasse Path in C#

Die Klasse Path führt verschiedene Operationen an Zeichenketten aus, die Dateipfade in C# enthalten. Die Funktion Path.GetDirectoryName() kann Informationen über das durch den Pfad angegebene Verzeichnis abrufen. Wir können die Eigenschaft System.Reflection.Assembly.GetExecutingAssembly().CodeBase als Argument der Funktion Path.GetDirectoryName() verwenden, um den Namen des Verzeichnisses abzurufen, das den aktuellen Code enthält. Siehe das folgende Codebeispiel.

using System;
using System.IO;
using System.Reflection;
namespace executable_path {
  class Program {
    static void Main(string[] args) {
      string execPath =
          Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().CodeBase);
      Console.WriteLine(execPath);
    }
  }
}

Ausgabe:

file:\C:\Users\Maisam\source\repos\executable path\executable path\bin\Debug

Im obigen Code haben wir den ausführbaren Pfad unseres aktuellen Codes mit der Klasse Path in C# angezeigt. Wir haben den von der Funktion Path.GetDirectoryName() zurückgegebenen Wert in der Zeichenkettenvariablen execPath gespeichert und dem Benutzer angezeigt. Dieser Ansatz gibt den Pfad mit der Zeichenkette file:\ am Anfang des Pfads zurück. Dieser Ansatz wird nicht empfohlen, da mehr Code als bei den beiden vorherigen Ansätzen erforderlich ist.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Verwandter Artikel - Csharp Path