2010-07-27 8 views
4

Je tente d'obtenir la dernière version de changeset dans un MSBuild TFS. J'ai essayé un certain nombre de solutions, et ai référencé TFS and msbuild version number with last changeset sans le résultat désiré. D'autres idées?TFS et MSBuild: comment obtenir la dernière version de changeset

  1. Certaines entrées de blog/exemples suggèrent d'utiliser « tf changeset/latest/i msbuild », mais je ne peux pas trouver de la documentation sur la façon d'obtenir la valeur souhaitée dans une propriété à l'intérieur d'un fichier xml MSBuild.

  2. D'autres exemples suggèrent d'utiliser le pack d'extension msbuild, mais la documentation n'est pas complète et la propriété 'changesets' ci-dessous semble être vide.

Voir: 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)"/> 

Ce Produit: Tâche "Message" "ID =, vérifié Dans Par =, URI =, Commentaire ="

Il a également été suggéré J'utilise ce qui suit après la tâche teambuild ci-dessus, mais encore une fois puisque la propriété 'changesets' est vide, j'obtiens une erreur:

Référez à: 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)"/> 

modifier: code correct et ajouter des liens de référence

+0

J'ai du mal à afficher le code, je vais essayer ici. 1: davewilliams459

+0

(désolé pour le mauvais formatage. 2: davewilliams459

+0

Voulez-vous aider à soutenir la communauté Visual Studio ALM sur Stack Exchange? http://bit.ly/caQ9ds –

Répondre

3

Si vous utilisez d'équipe pour 2010, vous pouvez utiliser BuildDetail.SourceGetVersion. Cela vous donne simplement le nombre de changeset.

+0

Merci, oui nous espérons passer à 2010 bientôt, mais bien sûr ce n'est pas une option pour le moment. – davewilliams459

Questions connexes