Одним из решений является использование бегуна MSBuild и написание сценария MSBuild, который считывает информацию о версии из файла AssemblyInfo, устанавливает версию сборки TeamCity на это значение во время выполнения сборки, а затем увеличивает часть номера сборки этой версии,и записывает значение обратно в AssemblyInfo.
Это не особенно тривиально, так как вам нужно иметь представление о написании пользовательских сценариев MSBuild, и вам, вероятно, придется использовать некоторые задачи сообщества и т. Д. Для чтения / записи информации о версии.
Мы также используем концепцию глобального файла AssemblyInfo, на которую ссылаются все наши сборки (используя Add Link в VS), и, таким образом, нам нужно обновить только один файл во время сборки.
Существуетотличная статья здесь , в которой описывается выполнение общих задач CI с MSBuild.Он использует CruiseControl.NET, но большая часть этого все еще применяется.Однако, если вы используете TeamCity 6.5, я хотел бы изучить использование исключительно его функций сборки, так как это будет намного проще поддерживать, чем пользовательский скрипт MSBuild.