Obtenir le chemin de l'exécutable en C#
-
Obtenir le chemin de l’exécutable avec la classe
Assembly
enC#
-
Obtenir le chemin de l’exécutable avec la classe
AppDomain
enC#
-
Obtenir le chemin de l’exécutable avec la classe
Path
enC#
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.
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