Obtenir le chemin de l'exécutable en C#

Muhammad Maisam Abbas 16 février 2024
  1. Obtenir le chemin de l’exécutable avec la classe Assembly en C#
  2. Obtenir le chemin de l’exécutable avec la classe AppDomain en C#
  3. Obtenir le chemin de l’exécutable avec la classe Path en C#
Obtenir le chemin de l'exécutable en C#

Ce tutoriel présentera les méthodes pour obtenir le chemin de l’exécutable de notre code en C#.

Obtenir le chemin de l’exécutable avec la classe Assembly en C#

La classe Assembly représente un assembly qui est un bloc de construction réutilisable d’une application CLR Common Language Runtime en C#. La fonction Assembly.GetEntryAssembly() permet de récupérer l’assembly du code en cours d’exécution. Nous pouvons obtenir le chemin du code en cours d’exécution avec la propriété Assembly.GetEntryAssembly().Location qui retourne le chemin de l’exécutable du courant dans une variable chaîne. Consultez l’exemple de code suivant.

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);
    }
  }
}

Production:

C :\Debug\destroy object.exe

Dans le code ci-dessus, nous avons affiché le chemin de l’exécutable de notre code actuel avec la classe Assembly en C#. Nous avons stocké la valeur retournée par la propriété Assembly.GetEntryAssembly().Location dans la variable chaîne execPath et l’avons affichée à l’utilisateur.

Obtenir le chemin de l’exécutable avec la classe AppDomain en C#

La méthode ci-dessus nous donne le chemin ainsi que le nom du fichier exécutable. Si nous voulons obtenir le nom du répertoire sans le nom du fichier exécutable, nous pouvons utiliser la classe AppDomain en C#. La classe AppDomain représente un domaine d’application. Un domaine d’application est un environnement isolé dans lequel les applications s’exécutent. La propriété AppDomain.CurrentDomain récupère le domaine d’application de l’application en cours. On peut obtenir le chemin de l’exécutable avec la propriété AppDomain.CurrentDomain.BaseDirectory, qui retourne le chemin du répertoire contenant le fichier exécutable du fichier de code courant dans une variable chaîne. L’exemple de code suivant nous montre comment obtenir le chemin de l’exécutable de notre code actuel avec la classe AppDomain en C#.

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);
    }
  }
}

Production:

C :\Debug\

Dans le code ci-dessus, nous avons affiché le chemin de l’exécutable de notre code actuel avec la classe AppDomain en C#. Nous avons stocké la valeur retournée par la propriété AppDomain.CurrentDomain.BaseDirectory dans la variable chaîne execPath et l’avons affichée à l’utilisateur. Cette approche est recommandée car elle est la plus simple et nécessite moins de code que les deux autres approches.

Obtenir le chemin de l’exécutable avec la classe Path en C#

La classe Path effectue diverses opérations sur des chaînes contenant des chemins de fichiers en C#. La fonction Path.GetDirectoryName() peut obtenir des informations sur le répertoire spécifié par le chemin. On peut utiliser la propriété System.Reflection.Assembly.GetExecutingAssembly().CodeBase comme argument de la fonction Path.GetDirectoryName() pour obtenir le nom du répertoire contenant le code courant. Consultez l’exemple de code suivant.

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);
    }
  }
}

Production:

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

Dans le code ci-dessus, nous avons affiché le chemin de l’exécutable de notre code actuel avec la classe Path en C#. Nous avons stocké la valeur retournée par la fonction Path.GetDirectoryName() dans la variable chaîne execPath et l’avons affichée à l’utilisateur. Cette approche retourne le chemin avec la chaîne file:\ au début du chemin. Cette approche n’est pas recommandée car elle prend plus de code que les deux approches précédentes.

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

Article connexe - Csharp Path