2009-07-21 13 views
23

que tengo en mi clase AssemblyInfo.cs el código:¿La versión del archivo de ensamblaje no cambia?

[assembly: AssemblyVersion("1.0.*")] 
[assembly: AssemblyFileVersion("1.0.*")] 

Calling Sin embargo System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString() funciona bien y da la versión actualizada, cuando miro el DLL generado en el Explorador de Windows, haga clic derecho en propiedades, haga clic en el ' pestaña de detalles, la versión del archivo dice "1.0.0.0", aunque el resultado anterior dice 1.0.3489.17621?

+0

¿Qué versión de Visual Studio? –

+0

Visual studio 2008, doh! – maxp

+0

ver http://stackoverflow.com/questions/64602/what-are-differences-between-assemblyversion-assemblyfileversion-and-assemblyin – John

Respuesta

29

No puede usar 1.0. * Para autoincrementar AssemblyFileVersion, solo la AssemblyVersion. (Controlado en todas las versiones de Visual Studio de 2005 a 2012).

comentario la siguiente línea

[assembly: ("1.0. *") AssemblyFileVersion]

y la versión del archivo tendrá el mismo número que la versión de ensamblado.

+0

Funciona, estoy usando vs2008 por lo que parece haber sido transferido. – maxp

+0

¡Situación horrible, me atrapó el año pasado, cruzó los dedos para 2010! –

+0

Desafortunadamente parece que no lo han cambiado. me sale esto: warning CS1607: Assembly generation -- The version '1.0.*' specified for the 'file version' is not in the normal 'major.minor.build.revision' format

22

Patrick ya dio la respuesta correcta, pero aquí hay un pequeño consejo. Si nos fijamos en AssemblyInfo.cs se encuentra el bloque siguiente al final:

// 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")] 

Ahora seguir adelante y darle la vuelta al comentario de las tres últimas líneas de la siguiente manera:

[assembly: AssemblyVersion("1.0.*")] 
//[assembly: AssemblyVersion("1.0.0.0")] 
//[assembly: AssemblyFileVersion("1.0.0.0")] 

y todo funciona como se esperaba ... :-)

+1

Excellente, dio la etiqueta respuesta a Patrick, pero habría dado dos veces si pudiera: D – maxp

+0

esto es una respuesta más clara – rajeemcariazo

+0

interesante que tratar de blanco la AssemblyFileVersion en la GUI no te deja hasta que la comentes como dice este. ¡Gracias! –

Cuestiones relacionadas