Как я должен ссылаться на сборки Team Foundation Server?

Я создаю выпуск своего проекта, используя сборку tfs, которая генерирует уникальный идентификатор для сборки в проводнике сборки tfs, например «MyProject_20090122.1», указывающий, что это первая сборка 2009-01-22. Однако это мой выпуск 1.0.0 MyProject. Есть ли способ соединить два идентификатора или мне нужно поддерживать сопоставление извне и в другом месте?

Должен ли я сделать так, чтобы мой идентификатор версии соответствовал тому, как имена сборки tfs так, чтобы мой номер версии для вышеуказанного был 1.0.20090122.1?

Есть ли способ добавить комментарии к tfsbuild?

Как ты это делаешь?

Редактировать:

Как некоторые предположили, номер версии может быть обновлен через msbuild и автоматически увеличен. Однако вопрос заключается в том, как определить, какой версией является конкретная сборка команды, поскольку номер версии не встроен в имя сборки? Могу ли я контролировать идентификаторы имени сборки tfs?


person Fadeproof    schedule 22.01.2009    source источник
comment
Если у вас есть версия 1.0.0, я ожидаю, что вы переопределите buildnumberoverridetarget и установите его соответствующим образом на номер версии 1.0.0, где бы он ни хранился.   -  person Ray Booysen    schedule 22.01.2009
comment
В моем случае у нас есть локальный файл, контролируемый источником, с именем version.xml, который содержит последний номер версии. Мы увеличиваем это и используем версию в этом файле для нашего номера сборки.   -  person Ray Booysen    schedule 22.01.2009


Ответы (3)


Вы можете переопределить цель управления версиями, указав свой собственный номер версии. Таким образом, вы можете соответствовать ххх или любому другому стилю. В идеале x.y.x означало бы, что x — основная версия, y — второстепенная (точечный выпуск), а z — уникальный номер сборки, который увеличивает каждую сборку. Вы также можете снова зарегистрировать файл Assemblyinfo.cs с новым обновленным номером сборки (например, 1.0.1423).

Об этом много информации через гугл. В частности: http://geekswithblogs.net/etiennetremblay/archive/2008/10/03/matching-tfs-build-labels-with-custom-build-number.aspx

person DarkwingDuck    schedule 22.01.2009

Я взял свой файл msbuild и переопределил шаг генерации номера версии. Это позволяет мне ввести свой собственный номер версии, который MSBuild затем использует на всех этапах сборки.

Файл, который вам нужно отредактировать, — это файл TFSBuild.proj, который по сути является просто файлом MSBuild.

Если у вас есть цель с именем «BuildNumberOverrideTarget», как в приведенном ниже коде, вы можете указать MSBuild использовать ваш пользовательский номер. Существует также статья MSDN о том, как переопределить номер сборки.

<Target Name = "BuildNumberOverrideTarget" >
    <BuildNumberGenerator> 
    <Output TaskParameter="BuildNumber" PropertyName="BuildNumber"/> 
    </BuildNumberGenerator> 
  </Target>

По сути, все, что вам нужно сделать, это написать цель, которая переопределяет BuildNumberOverrideTarget, и ваша сборка отразит это.

person Ray Booysen    schedule 22.01.2009

Подробную информацию о том, как создать и интегрировать собственный генератор номеров сборок TFS, см. в моем блоге: http://www.grahamzero.com/blog/2009/03/team-foundation-server-2008-build-number-generator.html

person Community    schedule 13.03.2009