2012-04-30 21 views
5

Duplicar posible:
Details of Assembly version¿Cómo se genera una versión de ensamblaje en .NET?

¿Cómo funciona la versión de ensamblado obtener genera en VS/.NET? Sé que hay un par de cadenas en AssemblyInfo.cs o AssemblyInfo.vb con algo como esto:

' Version information for an assembly consists of the following four values: 
' 
'  Major Version 
'  Minor Version 
'  Build Number 
'  Revision 
' 
' You can specify all the values or you can default the Build and Revision Numbers 
' by using the '*' as shown below: 
' <Assembly: AssemblyVersion("1.0.*")> 

<Assembly: AssemblyVersion("1.0.0.0")> 
<Assembly: AssemblyFileVersion("1.0.0.0")> 

Pero, ¿cómo la versión de montaje final se crean? ¿Cómo se incrementa? ¿Dónde se almacena el último valor? Tenemos un entorno de lanzamiento interno personalizado y me gustaría personalizar la versión de ensamblaje ... Miré en Google pero no pude encontrar nada ... ¿Alguna sugerencia?

+0

@pivotnig, lo siento no lo encontró. Gracias – Denis

+0

bien, de alguna manera me perdí que desea personalizarlo – thumbmunkeys

Respuesta

5

Usando el "1.0. *" Escenario de la versión Asamblea hará lo siguiente:

  • versión principal: 1 (como se indica)
  • Versión secundaria: 0 (como se indica)
  • Número de compilación: Número de días desde el 1/1/2000.
  • Revisión: número de milisegundos desde 12:00a.m. (? UTC)

Así es como funciona la incrementación ...

+1

En realidad, creo que la revisión es el número de milisegundos desde 12:00 AM/2 –

+0

¿Puedo cambiar el comportamiento de BuildNumber y revisión para usar mi lógica personalizada? ¿O eso es bastante fijo? – Denis

3

Las versiones principales y secundarias no están incrimented, que se fija por lo que es especificado. El número de compilación es el número de días desde el 1 de enero de 2000. El número de revisión es el número de segundos desde la medianoche (hora local) dividido por dos.

Se puede ver más detalles sobre MSDN

... construir para que sea igual al número de días desde el 1 de enero de 2000, hora local, y la revisión para que sea igual al número de segundos transcurridos desde la medianoche del día actual, hora local, dividido por 2.

0

Simplemente genere el archivo que contiene la versión de la manera que necesita, al menos para las compilaciones oficiales. Tener una versión diferente entre ensambles provenientes de la misma "compilación" es confuso.

También puede desear más control sobre la versión para saber si la compilación es de la máquina de alguien o algún tipo de compilación oficial.

Una consideración más: si tiene API pública de cualquier tipo y necesita proporcionar compatibilidad hacia atrás/adelante, la autogeneración de la versión lo hará casi imposible.

Cuestiones relacionadas