Enfoque simple para actualizar AssemblyInformationalVersion a través de la característica de parche AssemblyInfo de TeamCity

De forma pnetworkingeterminada, un proyecto de Visual Studio C # Library / Console etc. viene con un file AssemblyInfo.cs que no incluye AssemblyInformationalVersionAttribute . TeamCity permite parchear este atributo si se encuentra en AssemblyInfo.cs usando AssemblyInfoPatcher .

Problema

Una forma de esfuerzo cero para include AssemblyInformationalVersion para TeamCity.

Soluciones posibles

  • Utilice un file GlobalAssemblyInfo.cs y enlace a cada proyecto, inconveniente: cada nuevo proyecto tendrá que estar vinculado, frustrantemente molesto si (a menudo ) olvida crear un enlace

  • Agregue AssemblyInformationalVersionAttribute a todas las templates en Common7\IDE\ProjectTemplates\CSharp\ , downside: hágalo en cada máquina devs, principalmente overkill

  • Un primer paso de compilation que ejecuta un script basado en esta respuesta SO y crea enlaces en todos los .cspproj , downside: tendrá que volver a entrar para el paso de parcheo, demasiado complicado

Razón

El AssemblyInformationalVersion es útil porque puedes poner cualquier text allí. Me gusta poner el hash git de la confirmación utilizada para build el ensamblado en él.

¿Tienes una mejor idea?