Obtenir le chemin d'assemblage dans .NET
Obtenir le chemin d'un assemblage dans .NET est une tâche courante lors du développement d'applications. Connaître le chemin d'un assemblage permet de nombreuses actions, telles que la résolution des dépendances, le chargement d'autres assemblages ou l'accès aux ressources associées.
Utilisation de la propriété Location
La méthode la plus simple pour obtenir le chemin d'un assemblage est d'utiliser la propriété Location
de l'objet Assembly
. Cette propriété retourne le chemin complet du fichier d'assemblage.
using System.Reflection;
// Obtenir l'assemblage actuel
Assembly assembly = Assembly.GetExecutingAssembly();
// Obtenir le chemin de l'assemblage
string assemblyPath = assembly.Location;
// Afficher le chemin
Console.WriteLine(assemblyPath);
Utilisation de la propriété CodeBase
La propriété CodeBase
est une autre option pour obtenir le chemin d'un assemblage. Elle retourne le chemin de l'assemblage en utilisant un URI (Uniform Resource Identifier).
using System.Reflection;
// Obtenir l'assemblage actuel
Assembly assembly = Assembly.GetExecutingAssembly();
// Obtenir le chemin de l'assemblage
string assemblyPath = assembly.CodeBase;
// Afficher le chemin
Console.WriteLine(assemblyPath);
Utilisation de la méthode GetFiles()
Si vous avez besoin d'obtenir les chemins de tous les assemblages chargés dans l'application, vous pouvez utiliser la méthode GetFiles()
de la classe AppDomain
. Cette méthode retourne une liste des fichiers d'assemblage chargés dans le domaine d'application.
using System;
using System.IO;
using System.Reflection;
// Obtenir le domaine d'application actuel
AppDomain currentDomain = AppDomain.CurrentDomain;
// Obtenir la liste des fichiers d'assemblage
string[] assemblyPaths = currentDomain.GetFiles("*.dll", SearchOption.AllDirectories);
// Afficher les chemins des assemblages
foreach (string path in assemblyPaths)
{
Console.WriteLine(path);
}
Conclusion
Obtenir le chemin d'un assemblage dans .NET est une tâche facile à réaliser. Il existe plusieurs méthodes disponibles, chacune ayant ses propres avantages et inconvénients. Choisissez la méthode la plus appropriée à vos besoins et profitez de la flexibilité offerte par .NET.