По умолчанию проект Visual Studio C# Library/Console и т. д. поставляется с файлом AssemblyInfo.cs
, который не включает AssemblyInformationalVersionAttribute
. TeamCity позволяет исправить этот атрибут, если он найден в AssemblyInfo.cs
, с помощью AssemblyInfoPatcher.
Проблема
Простой способ включения AssemblyInformationalVersion
для TeamCity.
Возможные решения
Используйте файл
GlobalAssemblyInfo.cs
и ссылку на каждый проект, недостаток: каждый новый проект должен быть связан, что раздражает, если (часто) забыть создать ссылкуДобавьте
AssemblyInformationalVersionAttribute
ко всем шаблонам вCommon7\IDE\ProjectTemplates\CSharp\
, недостаток: делайте это на каждой машине разработчиков, в основном излишествоПервый шаг сборки, который запускает скрипт на основе этого ответа SO и создает ссылки на все
.cspproj
, недостаток: будет нужно вернуться для исправления, слишком сложно
Причина
AssemblyInformationalVersion
полезен, потому что вы можете поместить туда любой текст — мне нравится помещать в него git-хеш коммита, используемого для сборки сборки.
У тебя есть идея получше?