¿Cómo puedo incrementar automáticamente la versión de ensamblaje de C # a través de nuestra plataforma CI (Hudson)?

Yo y mi grupo somos horrendos al incrementar los números de versión de ensamblajes y frecuentemente enviamos ensamblajes con versiones 1.0.0.0. Obviamente, esto causa muchos dolores de cabeza.

Estamos mejorando mucho con nuestras prácticas a través de nuestroCI plataforma y realmente me gustaría configurarlo para incrementar automáticamente los valores dentro de laassemblyinfo.cs archivo para que las versiones de nuestros ensamblajes se actualicen automáticamente con los cambios de código en ese ensamblaje.

Lo había configurado previamente (antes de que encontráramosHudson) una forma de incrementar el valor a través demsbuild o la línea de comandos (no puedo recordar), pero con Hudson, se actualizará el repositorio de SVN y desencadenará OTRA compilación. Eso daría lugar a un bucle infinito lento, ya que Hudson sondea SVN cada hora.

¿Es que Hudson incrementar el número de versión es una mala idea? ¿Cuál sería una forma alternativa de hacerlo?

Idealmente, mi criterio para una solución sería uno que:

Incrementa el número de compilación enassemblyinfo.cs antes de una construcciónSolo se incrementa el número de compilación en los ensamblajes que han cambiado. Esto puede no ser posible ya que Hudson borra la carpeta del proyecto cada vez que hace una compilaciónConfirma la información modificada assemblyinfo.cs en el repositorio de código (actualmenteVisualSVN)No hace que Hudson active una nueva compilación la próxima vez que busque cambios

Resolviendo esto en mi cabeza, fácilmente podría encontrar una solución para la mayoría de esto a través de archivos / comandos por lotes, pero todas mis ideas harían que Hudson activara una nueva compilación la próxima vez que escanee. No estoy buscando a alguien que haga todo por mí, solo apúntame en la dirección correcta, tal vez una técnica para hacer que Hudson ignore ciertos compromisos de SVN, etc.

Todo lo que he encontrado hasta ahora es solo un artículo que explica cómo conseguir que el número de versión se incremente automáticamente, nada tiene en cuenta una plataforma de CI que podría girar en un bucle infinito.

Respuestas a la pregunta(12)

Su respuesta a la pregunta