Простой подход к обновлению AssemblyInformationalVersion с помощью средства исправления TeamCity AssemblyInfo

По умолчанию проект 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-хеш коммита, используемого для сборки сборки.

У тебя есть идея получше?


person aateeque    schedule 28.01.2016    source источник