2008-10-17 7 views
21

Was ist die beste Methode zum Anzeigen von Haupt-/Nebenversionen in einer C# -Konsolenanwendung?Methode für die Anwendungsversion in einer Console Utility-App

Der System.Windows.Forms-Namespace enthält eine ProductVersion-Klasse, die zum Anzeigen der über die Visual Studio-Projekteigenschaften (Assembly Information) festgelegten Name-/Versionsinformationen verwendet werden kann. Als solches ist hier mein aktueller Mechanismus:

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

Warum ist dieser Teil von Forms? Ist dies für eine Konsolenanwendung geeignet?

Antwort

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

Sie können die Klasse auch weiterhin verwenden, Sie müssen nur auf die enthaltene Baugruppe verweisen. Es ist kein großes Problem.

7

Assembly.GetExecutingAssembly().GetName().Version ist nicht die gleiche wie Application.ProductVersion (aber gut genug sein kann in Abhängigkeit von Ihrer Umgebung.

Wie mit Lutz Reflektor, Application.ProductVersion ersten Versuchen, das AssemblyInformationalVersion Attribut von Assembly.GetEntryAssembly() zu verwenden, zu sehen, wenn es vorhanden ist, und wenn GetEntryAssembly() ist nicht null.

Andernfalls wird die Datei Version der ausführbaren Datei verwendet.

ich sehe keinen Grund, nicht t o Verwenden Sie Application.ProductVersion in einer Konsolenanwendung.

+3

Ich auch, aber dann sieht es so aus, als ob diese Methoden im System.Windows.Forms-Namespace schlecht lokalisiert sind, oder? –

Verwandte Themen