Obtenir l'assembly actuel dans .NET
Obtenir l'assembly actuel dans votre code .NET est une tâche courante, que ce soit pour accéder à des métadonnées, à des ressources ou à des informations sur l'assembly lui-même. Voici comment y parvenir :
Utilisation de la propriété Assembly.GetExecutingAssembly()
La méthode la plus simple et la plus courante pour obtenir l'assembly actuel est d'utiliser la propriété statique GetExecutingAssembly()
de la classe Assembly
. Cette propriété renvoie l'assembly à partir duquel le code en cours d'exécution est appelé.
// Obtenir l'assembly actuel
Assembly currentAssembly = Assembly.GetExecutingAssembly();
// Afficher le nom de l'assembly
Console.WriteLine($"Nom de l'assembly : {currentAssembly.FullName}");
Utilisation de la propriété Assembly.GetEntryAssembly()
La propriété GetEntryAssembly()
renvoie l'assembly qui a été exécuté en tant que point d'entrée de l'application. Cela peut être utile pour différencier l'assembly principal de l'application des autres assemblies chargés.
// Obtenir l'assembly d'entrée
Assembly entryAssembly = Assembly.GetEntryAssembly();
// Afficher le nom de l'assembly d'entrée
Console.WriteLine($"Nom de l'assembly d'entrée : {entryAssembly.FullName}");
Accès aux informations de l'assembly
Une fois que vous avez obtenu l'assembly actuel, vous pouvez accéder à diverses informations à son sujet, telles que :
- Nom complet :
assembly.FullName
- Nom simple :
assembly.GetName().Name
- Version :
assembly.GetName().Version
- Chemin du fichier :
assembly.Location
- Ressources :
assembly.GetManifestResourceNames()
Exemple d'utilisation des informations d'assembly
// Obtenir l'assembly actuel
Assembly currentAssembly = Assembly.GetExecutingAssembly();
// Afficher les informations de l'assembly
Console.WriteLine($"Nom complet de l'assembly : {currentAssembly.FullName}");
Console.WriteLine($"Nom simple de l'assembly : {currentAssembly.GetName().Name}");
Console.WriteLine($"Version de l'assembly : {currentAssembly.GetName().Version}");
Console.WriteLine($"Chemin du fichier de l'assembly : {currentAssembly.Location}");
Points importants à retenir
GetExecutingAssembly()
renvoie l'assembly à partir duquel le code en cours d'exécution est appelé, tandis queGetEntryAssembly()
renvoie l'assembly qui a été exécuté en tant que point d'entrée de l'application.- La propriété
Location
renvoie le chemin du fichier de l'assembly, ce qui peut être utile pour accéder à des ressources ou à d'autres fichiers associés à l'assembly. - La propriété
GetManifestResourceNames()
renvoie une collection de noms de ressources intégrées à l'assembly. GetExecutingAssembly
etGetEntryAssembly
ne sont pas toujours les mêmes.
En utilisant ces méthodes, vous pouvez facilement obtenir l'assembly actuel et accéder à ses informations pour effectuer diverses tâches dans votre code .NET.