2008-10-17 14 views
21

¿Cuál es el mejor método para mostrar versiones mayores/menores en una aplicación de consola C#?Método para la versión de la aplicación en una aplicación de consola

El espacio de nombres System.Windows.Forms incluye una clase ProductVersion que se puede usar para mostrar el conjunto de información de nombre/versión a través de las propiedades del proyecto de Visual Studio (Información de ensamblaje). Por lo tanto, aquí está mi mecanismo actual:

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

¿Por qué es esta parte de Forms? ¿Es esto apropiado para una aplicación de consola?

Respuesta

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

Además, todavía puede utilizar la clase, solo tiene que hacer referencia al conjunto que lo contiene. No es gran cosa.

7

Assembly.GetExecutingAssembly().GetName().Version no es lo mismo que Application.ProductVersion (pero puede ser lo suficientemente bueno dependiendo de su entorno.

Como se puede ver con Lutz reflector, Application.ProductVersion primeros intentos de utilizar la AssemblyInformationalVersion atributo de Assembly.GetEntryAssembly() si está presente, y si GetEntryAssembly() no es nulo.

de lo contrario, utiliza la versión de archivo del archivo ejecutable.

no veo ninguna razón para no t o use Application.ProductVersion en una aplicación de consola.

+3

Yo también, pero parece que esos métodos están mal ubicados en el espacio de nombres System.Windows.Forms, ¿verdad? –

Cuestiones relacionadas