.net Get Current Assembly Path

4 min read Jun 03, 2024
.net Get Current Assembly Path

Obtenir le chemin de l'assembly actuel en .NET

Obtenir le chemin de l'assembly actuel peut être utile dans de nombreux scénarios, tels que l'accès aux fichiers ressources, la journalisation ou la configuration dynamique. En .NET, il existe plusieurs méthodes pour accomplir cela, chacune avec ses propres avantages et inconvénients.

Utilisation de la propriété Assembly.Location

La méthode la plus simple et la plus courante est d'utiliser la propriété Location de la classe Assembly. Cette propriété retourne le chemin complet du fichier d'assembly actuellement en cours d'exécution.

using System.Reflection;

// Obtenez l'assembly actuel
Assembly assembly = Assembly.GetExecutingAssembly();

// Obtenez le chemin de l'assembly
string assemblyPath = assembly.Location;

// Affichez le chemin de l'assembly dans la console
Console.WriteLine($"Chemin de l'assembly actuel : {assemblyPath}");

Utilisation de la propriété Assembly.CodeBase

Une autre option est d'utiliser la propriété CodeBase. Cette propriété retourne une URL qui représente le chemin de l'assembly. Cependant, cette URL est codée et il faut la convertir en chemin d'accès local.

using System.Reflection;

// Obtenez l'assembly actuel
Assembly assembly = Assembly.GetExecutingAssembly();

// Obtenez le chemin de l'assembly
string assemblyPath = assembly.CodeBase;

// Convertir l'URL en chemin d'accès local
Uri uri = new Uri(assemblyPath);
string localPath = uri.LocalPath;

// Affichez le chemin de l'assembly dans la console
Console.WriteLine($"Chemin de l'assembly actuel : {localPath}");

Utilisation de la propriété AppDomain.BaseDirectory

Si vous avez besoin du chemin du répertoire de l'application au lieu du chemin de l'assembly lui-même, vous pouvez utiliser la propriété BaseDirectory de la classe AppDomain. Cette propriété retourne le chemin du répertoire de base de l'application.

using System;

// Obtenez le répertoire de base de l'application
string appDirectory = AppDomain.CurrentDomain.BaseDirectory;

// Affichez le chemin du répertoire de l'application dans la console
Console.WriteLine($"Chemin du répertoire de l'application : {appDirectory}");

Choisir la méthode appropriée

Le choix de la méthode appropriée dépend de votre situation spécifique. Si vous avez besoin du chemin de l'assembly actuel, Assembly.Location est la méthode la plus simple et la plus directe. Si vous avez besoin du chemin du répertoire de l'application, AppDomain.BaseDirectory est la meilleure option.

N'oubliez pas que le chemin de l'assembly actuel peut être différent selon l'environnement d'exécution. Par exemple, le chemin de l'assembly peut être différent en mode débogage et en mode de production. Il est donc important de tenir compte de cela lors de la gestion des chemins d'accès aux fichiers et aux ressources.