2010-01-20 21 views
13

He leído los hilos aquí sobre las versiones Informativas de Ensamblaje, Archivo y Ensamblaje.Publicar versión vs Montaje (etc) Versiones

me gustaría saber dónde está la versión de publicación encaja. El resultado de ...

string thisAppsVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); 

... parece ser el AssemblyVersion. Hasta ahora he estado utilizando la versión de publicar con la clase de implementación:

ApplicationDeployment deployment = ApplicationDeployment.CurrentDeployment; 
Version thisAppsVersion = deployment.CurrentVersion; 

... pero esto no es disponible a menos que se instala la aplicación. Me gusta cómo tiene la opción de incrementar automáticamente la Revisión.

¿Hay alguna forma de obtener la versión de publicación sin implementarla en red? ¿Debería ser la 'cara pública' de la versión de la aplicación?

Example: UI Version (twisted from Publish Version)

Gracias de antemano!

Gregg

Respuesta

18

creo que las diferentes versiones sirven propósito diferente.

1) AssemblyVersion es para CLR cargar y unir ensamblajes. Esto es útil para los desarrolladores pero no para los usuarios finales.

2) FileVersion o AssemblyFileVersion es lo que Windows muestra como la versión del archivo ejecutable. Es la misma versión de la aplicación Win32. Y esta versión es utilizada por el sistema y los instaladores para determinar qué versión es más nueva.

3) PublishVersion se utiliza para versionar el paquete de implementación. Está bien tener los mismos binarios publicados dos veces con diferentes versiones de publicación.

4) La versión que muestra a sus usuarios finales es otra versión. Llámalo versión del producto u otra cosa. Puede ser diferente de cualquiera de los anteriores, por ej. propósito de negocio. Consulte AssemblyInformationalVersionAttribute si desea utilizar algún soporte integrado .NET.

Para casos simples, puede usar FileVersion como la versión del producto. Pero publicar la versión no es una buena idea para mí.

+0

Hola Dudu, gracias por la clara explicación. Eso ha aclarado las cosas muy bien! – MrGreggles

+1

¿Hay alguna manera de hacer que coincidan automáticamente? –

Cuestiones relacionadas