Obtenir la version de l'assembly actuelle dans .NET Core
Obtenir la version de l'assembly actuelle est une tâche courante dans le développement .NET Core. Cette information peut être utile pour plusieurs raisons, par exemple pour la journalisation, la gestion des versions ou pour afficher des informations sur l'application aux utilisateurs.
Méthodes pour obtenir la version de l'assembly
Il existe plusieurs méthodes pour obtenir la version de l'assembly actuel dans .NET Core. Voici les plus courantes :
1. Utilisation de la propriété Assembly.GetExecutingAssembly().GetName().Version
Cette méthode utilise la classe Assembly
pour obtenir l'assembly en cours d'exécution. La propriété GetName()
permet de récupérer un objet AssemblyName
qui contient des informations sur l'assembly, y compris sa version.
using System.Reflection;
// Obtenir la version de l'assembly actuel
var version = Assembly.GetExecutingAssembly().GetName().Version;
// Afficher la version
Console.WriteLine($"Version de l'assembly : {version}");
2. Utilisation de l'attribut AssemblyInformationalVersion
Cet attribut permet de définir une version informative pour l'assembly. Cette version peut être différente de la version de l'assembly utilisée pour la gestion des versions.
[assembly: AssemblyInformationalVersion("1.0.0.0+build.1234")]
// Obtenir la version informative
var version = Assembly.GetExecutingAssembly().GetCustomAttribute().InformationalVersion;
// Afficher la version
Console.WriteLine($"Version informative de l'assembly : {version}");
3. Utilisation de la classe FileVersionInfo
Cette classe permet d'accéder aux informations sur la version du fichier exécutable.
using System.Diagnostics;
// Obtenir les informations de version du fichier exécutable
var fileVersionInfo = FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location);
// Afficher la version du fichier
Console.WriteLine($"Version du fichier : {fileVersionInfo.FileVersion}");
Avantages et inconvénients des différentes méthodes
Chaque méthode a ses propres avantages et inconvénients :
Assembly.GetExecutingAssembly().GetName().Version
: Simple et facile à utiliser, mais ne prend pas en compte la version informative.AssemblyInformationalVersion
: Permet de définir une version informative, mais nécessite une modification du code source.FileVersionInfo
: Permet d'accéder à la version du fichier exécutable, mais peut ne pas être disponible dans tous les cas.
Conclusion
Obtenir la version de l'assembly actuel dans .NET Core est une tâche simple et flexible. Choisissez la méthode qui correspond le mieux à vos besoins et à votre contexte. N'oubliez pas de documenter votre code pour expliquer comment la version de l'assembly est obtenue et comment elle est utilisée.