Номер версии TFS и msbuild с последним набором изменений
Я хочу создать номер сборки, который выглядит как Major.minor.Date.LastChangeSetInTFS, проблема в том, как получить последний номер набора изменений из TFS. Есть ли какое-либо свойство или что-то подобное?
Ответы
Ответ 1
ОК, наконец, я нашел решение. Здесь задание, которое предоставит вам последний номер набора изменений и создаст свойство, чтобы вставить его в номер сборки сборки. Основная проблема заключалась в отсутствующем свойстве 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
В соответствии с комментарием на этой странице вы можете использовать командную строку
tf changeset /latest /i
, но я не могу проверить это из дома.
Ответ 3
Извините, я не могу прокомментировать последний ответ.
Задача TfsVersion в предоставленной вами форме даст вам только последний номер набора изменений в $(SolutionRoot)
.
Если у вас есть что-то более новое в $(SolutionRoot)\subdir
, предоставленное решение не будет работать, так как оно даст вам последнее из $(SolutionRoot)
, а не из $(SolutionRoot)\subdir
, как вы бы хотели.
Я использую tf changeset /latest /i
, и он отлично работает для меня.
Ответ 4
Проверьте следующие проекты расширений. Вы найдете около 5 различных способов решения вашей проблемы.
- MSBuild Extension Pack - активно поддерживается, это расширение обеспечивает более 280 задач
- Проект задач сообщества MSBuild - не поддерживается с 2007 года, этот набор из 90 задач по-прежнему имеет несколько уникальных задач, а именно: задача с файловой версией
- Библиотека задач SDC - не поддерживается с августа 2008 года, это расширение было поглощено MSBuild Extension Pack. Если в MSBuild Extension Pack есть что-то, что вы не можете найти, проверьте этот вариант, имея в своем портфеле более 300 задач, возможно, он имеет то, что вам нужно.