Pregunta

La información de la versión, aparece cuando los elementos emergentes cursor del ratón sobre el archivo en el Explorador de Windows, se establece para un archivo construido por el estudio visual en el recurso de versión. Me gustaría establecer la versión en un solo lugar para todos los archivos construidos por una solución, preferiblemente cuando cambio la versión en las propiedades de instalación. ¿Hay una manera de hacer esto?

El motivo de esto es que si la versión no se actualiza para un archivo, a continuación, el instalador dejará versiones anteriores de archivos en lugar de reemplazarlos con nuevos archivos. Esto ocurre incluso cuando la propiedad de los '' RemovePreviousVersions se establece. Con el fin de guardar la tarea tediosa y propensa de error de actualización de la versión de cada archivo construido e instalado, me quito el recurso de versión de todos los archivos -. Que no es elegante

¿Fue útil?

Solución

La segunda respuesta en el tema de desbordamiento de pila Cómo cambiar mediante programación a proyectos de versión del producto? ofrece una solución para establecer el número de versión de un archivo de cabecera común en C ++. Sólo tiene que colocar el archivo de cabecera que contiene los números de versión no modificables en una carpeta en la que cada proyecto pueda encontrarlo.

La respuesta anterior también describe un medio de incrementar el número de versión. Un enfoque alternativo para C ++ versión incremental está disponible en el artículo de Microsoft Como información de la versión de la subasta después de cada generación en Visual C ++ .

Como alternativa, se puede utilizar el control de código fuente número de revisión del repositorio como parte del número de versión. El artículo de desbordamiento de pila La creación de un archivo con número de compilación y el nombre de la rama en SVN da una idea de esto para los usuarios de TortoiseSVN. Los dos artículos siguientes explorar esto con más profundidad:

  
    

la integración de la revisión de la subversión en la versión automáticamente     con .NET (C # o VB)

         

la integración de la revisión de la subversión en la versión automáticamente     con Native C / C ++

         
      

(las dos páginas web anteriores incluyen enlaces a procedimientos similares para       usuarios TortoiseHg)

    
  

En teoría, se podría tener un solo archivo de texto que sostiene el nuevo número de versión, a continuación, ejecutar una secuencia de comandos pre-construcción que haría:

  1. Incremento del número de versión en el archivo de texto (opcionalmente la incorporación de un número de revisión repositorio)
  2. escribir o modificar archivos de la versión comunes para:
    • C ++ (version.h)
    • C # (GlobalAssemblyInfo.cs)
    • Java (por medio de un archivo de propiedades Ant, por ejemplo version.properties)
    • etc.

Otros consejos

Para centralizar de versiones de una solución:

  1. Tome la información de la versión de AssemblyInfo.cs;
  2. Crear un nuevo archivo (GlobalAssemblyInfo.cs) y poner su información de versión en el mismo (usando * para obtener VS para crear un nuevo número de versión para cada construcción);
  3. GlobalAssemblyInfo.cs referencia como enlace: Agregar | Elemento existente entonces la caída en el botón Añadir en la selección de archivos para elegir agregar como Enlace lugar;
  4. Repetir para cada proyecto de la solución;

Yo uso un bloque como esto para la versión:

#if DEBUG

[assembly: AssemblyVersion ( "1.8.0.0")]

#else

[assembly: AssemblyVersion ( "1.8 *")]

#endif

Esto mantiene VS de la reconstrucción de todas las asambleas durante el desarrollo, pero le da a cada ensamblaje de un nuevo número de versión cuando construyo un comunicado.

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