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?