TFS и MSBuild: как получить последнюю версию ревизии - PullRequest
4 голосов
/ 28 июля 2010

Я пытаюсь получить последнюю версию набора изменений в TFS MSBuild.Я испробовал несколько решений и ссылался на TFS и номер версии msbuild с последним набором изменений без желаемого результата.Любые другие идеи?

  1. Некоторые записи / примеры в блоге предлагают использовать 'tf changeset / latest / i msbuild', однако я не могу найти документацию о том, как получить желаемое значение в свойстве внутриФайл MSBuild xml.

  2. В других примерах предлагается использовать пакет расширений msbuild, однако документация не полная, а свойство 'changesets' ниже выглядит пустым.

См .: http://social.msdn.microsoft.com/Forums/en/msbuild/thread/3fd46d76-2544-4818-b504-0fa2fc1e5c6a

    <MSBuild.ExtensionPack.Tfs.TeamBuild TaskAction="RelatedChangesets" TeamFoundationServerUrl="$(TeamFoundationServerUrl)" TeamProject="$(TeamProject)" BuildUri="$(BuildUri)" BuildDefinitionName="$(BuildDefinitionName)">

   <Output ItemName="changesets" TaskParameter="RelatedItems"/>
  </MSBuild.ExtensionPack.Tfs.TeamBuild>
  <Message Text="ID = %(Changesets.Identity), Checked In By = %(Changesets.CheckedInBy), URI = %(Changesets.ChangesetUri), Comment = %(Changesets.Comment)"/>

Это приводит к: Задание "Сообщение" "ID =, зарегистрировано =, URI =, Комментарий ="

Было также предложено использовать следующее после задачи teambuild, описанной выше, но снова, поскольку свойство 'changesets' пусто, я получаю сообщение об ошибке:

См .: http://social.msdn.microsoft.com/Forums/en/msbuild/thread/9ac51ffe-137f-4d55-87e1-6fbbc401aab1

    <!-- Get the last item -->
  <MSBuild.ExtensionPack.Framework.MsBuildHelper TaskAction="GetLastItem" InputItems1="@(changesets)">
   <Output TaskParameter="OutputItems" ItemName="LastItem"/>
  </MSBuild.ExtensionPack.Framework.MsBuildHelper>
  <Message Text="Last Item: %(LastItem.Identity)"/>

изменить: исправить код и добавить ссылки

1 Ответ

3 голосов
/ 29 июля 2010

Если вы используете Team Build 2010, вы можете использовать BuildDetail.SourceGetVersion. Это просто даст вам номер набора изменений.

...