.Net ¿Es mejor verificar el AssemblyInfo.cs actualizado en una compilation diaria?

En mi trabajo, la versión de ensamblaje de cada proyecto en el control de fuente se mantiene en 1.0.0.0. Cuando la máquina de compilation realiza una nueva compilation diaria, tiene la tarea de actualizar la versión de ensamblaje pero no comtesting la información de ensamblado actualizada .cs. Entonces, en nuestras máquinas de desarrollo, la versión de ensamblaje de los dlls que estamos comstackndo siempre está configurada en 1.0.0.0.

¿Es una buena práctica mantener la versión de ensamblaje actualizada en el control de origen o ya estamos haciendo lo correcto?

¿Cuáles son los pros y los contras de cada posibilidad?

Gracias


Relacionado o Duplicado:
¿Debería AssemblyInfo.cs colocarse en el control de la versión?

Estafa:

  • no puede depurar ni probar ningún código que dependa de la versión de ensamblaje correcta (si tiene dicho código)

Por cierto, hay una manera más fácil de asegurarse de que todas las versiones de su ensamblaje estén sincronizadas: defina una cadena pública const " VersionMask " en una class pública VersionInfo en un ensamblaje de nivel superior al que hacen reference todos los demás ensamblajes y ponga

 [assembly: AssemblyVersion(VersionInfo.VersionMask)] 

en cada file AssemblyInfo.cs (siempre que esté usando C #), para VB.NET es

 <Assembly: AssemblyVersion(VersionInfo.VersionMask)> 

Esto no es correcto, no debería actualizar automáticamente [AssemblyVersion]. Ese atributo juega un papel muy importante en el process de resolución de ensamblaje cuando el CLR está buscando la versión correcta de un ensamblaje para cargar. Aunque esto solo es discriminativo cuando el ensamblaje se almacena en el GAC. Preferiblemente, solo se debe cambiar cuando un desarrollador realice un cambio radical en la interfaz pública del ensamblado, lo que lo haría inservible en una aplicación que no se recomstack con un ensamblaje de reference actualizado.

Siempre puede actualizar [AssemblyFileVersion]. Esa es también la versión que está visible en Explorer cuando mira la pestaña de properties de la Versión. Ahora ya no le importa tanto que el file se registre.

A modo de comparación, se hizo lo mismo con los ensamblados .NET de .NET 2.0 a .NET 3.5 SP1. Todos los ensamblajes estándar se mantuvieron en la versión de ensamblaje 2.0.0.0, la versión del file se ha cambiado miles de veces. Que estos cambios siempre fueron compatibles es, sin embargo, un acto bastante difícil de seguir.

Mi enfoque siempre ha sido, deberías poder buildlo solo teniendo acceso al sistema de control de fuente. Entonces, si el script que actualiza el assemblyinfo.cs está en control de fuente, entonces no hay problema.

Supongo que es mejor almacenar la versión en assemblyinfo.cs, para que cualquiera pueda realizar el pago y build la versión correcta. Tener la versión de la Asamblea lo mismo en Dev env. también crea problemas al depurar una versión particular. También la versión de ensamblado de .NET es importante, ya que sin la versión adecuada dll, el ensamblado no se cargará, y esto también te ayudará en la debugging.