Номер версии TFS и msbuild с последним набором изменений - PullRequest
15 голосов
/ 27 октября 2009

Я хочу создать номер сборки, который выглядит как Major.minor.Date.LastChangeSetInTFS, проблема в том, как получить последний номер набора изменений из TFS. Есть ли собственность или что-то такое?

Ответы [ 4 ]

11 голосов
/ 27 октября 2009

ОК, наконец, я нашел решение. Вот задача, которая предоставит вам последний номер набора изменений и создаст свойство для вставки его в номер сборки информации о сборке. Основная проблема заключалась в отсутствии свойства TfsLibraryLocation (без него оно должно указывать на библиотеки в GAC, но это не так)

<Target Name="GetVersionChangeSet">
<TfsVersion
  TfsLibraryLocation="C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies"      
  LocalPath="$(SolutionRoot)">
  <Output TaskParameter="Changeset" PropertyName="ChangesetNumber"/>
</TfsVersion>
<Message Text="TFS ChangeSetNumber: $(ChangesetNumber)" />

2 голосов
/ 27 октября 2009

Согласно комментарию на этой странице вы можете использовать командную строку tf changeset /latest /i но я не могу проверить это из дома.

1 голос
/ 25 июня 2010

Извините, я не могу комментировать последний ответ.

Задача TfsVersion в предоставленной вами форме даст вам только последний номер набора изменений в $(SolutionRoot).

Если у вас есть что-то более новое в $(SolutionRoot)\subdir, предоставленное решение не будет работать, так как оно даст вам последние версии $(SolutionRoot), а не $(SolutionRoot)\subdir, как вы бы хотели.

Я использую tf changeset /latest /i, и он прекрасно работает для меня.

0 голосов
/ 27 октября 2009

Проверьте следующие проекты расширения. Вы найдете около 5 различных способов решения вашей проблемы.

  • MSBuild Extension Pack - активно поддерживается, это расширение предоставляет более 280 задач
  • Проект MSBuild Community Tasks - не поддерживается с 2007 года, этот набор из ~ 90 задач все еще имеет несколько уникальных задач, а именно задачу Version на основе плоского файла
  • Библиотека задач SDC - не поддерживается с августа 2008 г., это расширение включено в пакет расширений MSBuild. Если есть что-то, чего вы не можете найти в пакете расширений MSBuild, проверьте это, поскольку у него более 300 задач, у него может быть то, что вам нужно.
...