2008-10-17 5 views
21

Quelle est la meilleure méthode pour afficher des versions majeures/mineures dans une application de console C#? L'espace de noms System.Windows.Forms inclut une classe ProductVersion qui peut être utilisée pour afficher le jeu d'informations nom/version via les propriétés du projet Visual Studio (Assembly Information). En tant que tel, voici mon mécanisme actuel:Méthode pour la version d'application sur une application d'application de console

Console.WriteLine ("{0} ({1})", System.Windows.Forms.Application.ProductName, System.Windows.Forms.Application.ProductVersion) ;

Pourquoi cette partie de Forms? Est-ce approprié pour une application de console?

Répondre

46
Assembly.GetExecutingAssembly().GetName().Version 

De même, vous pouvez toujours utiliser la classe, il vous suffit de référencer l'assembly conteneur. Ce n'est pas gros.

7

Assembly.GetExecutingAssembly().GetName().Version n'est pas la même chose que Application.ProductVersion (mais peut être assez bon en fonction de votre environnement.

Comme on peut le voir avec Lutz réflecteur, Application.ProductVersion premières tentatives d'utiliser le AssemblyInformationalVersion attribut de Assembly.GetEntryAssembly() si elle est présente, et si GetEntryAssembly() est non nul.

Sinon, il utilise la version du fichier du fichier exécutable.

Je ne vois aucune raison de ne pas t o utiliser Application.ProductVersion dans une application console.

+3

Moi aussi, mais semble que ces méthodes sont mal situées dans l'espace de noms System.Windows.Forms, non? –

Questions connexes