¿Versión de archivo en ensamblyInfo.cs no reflejada en las propiedades del archivo del explorador de Windows?

StackOverflow https://stackoverflow.com/questions/5305234

Pregunta

Tengo un proyecto VS2010 que contiene un archivo ensamblableinfo.cs. Esto tiene:

[assembly: AssemblyFileVersion("10.0.1.0")]

Cuando ejecuto mi aplicación y solicito la versión del archivo desde el ensamblaje ejecutivo, recoge 10.0.1 No hay problema. Sin embargo, si hago clic derecho en el archivo .exe en Windows Explorer y abro el cuadro de diálogo Propiedades: la pestaña Detalles muestra una versión de archivo de 10.0.0.0 (!)

¿Por qué Windows no ve 10.0.1 para la versión del archivo? Debo estar perdiendo algo...

Información adicional: si agrego un recurso de versión al archivo .res de mi aplicación, la información se muestra en el ejecutable compilado, pero si no tengo la información en el recurso de versión, el EXE compilado ignora el archivo y "informativo" (es decir, Producto) Atributos de la versión en AssemblyInfo.cs.

¿Fue útil?

Solución

¿Tiene, por casualidad, un archivo .rc o .Res incluido en su proyecto que contiene una definición de recursos de versión? ¿Quizás un objetivo o script de compilación personalizado lo agrega? Si ese es el caso, se recogería en lugar de la versión definida en AssemblyVersion.cs (al menos eso es lo que dice Michael Kaplan aquí).

En eso serie de artículos También muestra que la información de la versión de un archivo ".mui" podría superponer la información de la versión del archivo EXE real, aunque, si lo entiendo correctamente, es solo un "problema" con construcciones nativas/no administradas.

Otros consejos

Estoy en VS2008 para el desarrollo de SmartDevice. Después de cambiar el número de versión en AssemblyInfo.cs a "2.1.*", Me pareció imposible revertir el cambio. No importa lo que yo haga.

Después de quitar el <project_name>.suo, bin/ *, obj/ *, limpieza/reconstrucción en el lanzamiento, modo de depuración, nada parece hacer ninguna diferencia.

Finalmente desinstalo la aplicación del dispositivo CE primero y volví a intentar. Esta vez, Assembly.GetExecutingAssembly().GetName().Version comienza a informar la versión correcta.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top