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