2010-07-27 6 views
4

TFS MSBuild에서 최신 변경 집합 버전을 얻으려고합니다. 여러 가지 해결책을 시도했으며 원하는 결과없이 TFS and msbuild version number with last changeset을 참조했습니다. 다른 아이디어?TFS 및 MSBuild : 최신 변경 집합 버전을 얻는 방법

  1. 일부 블로그 항목/예를 제시하여 'TF의 변경 집합/최신/내가 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는 =, ="

또한 제안 된 코멘트 위의 팀 작업 후에 다음을 사용하지만 '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)"/> 

편집 : 당신이 팀은 2010 빌드 사용한 경우 정확한 코드 및 추가 참조 링크

+0

코드를 표시하는 데 문제가 있습니다. 여기에서 시도해 보겠습니다. TeamFoundationServerUrl = "$ (TeamProject)"BuildUri = "$ (BuildUri)"BuildDefinitionName = "$ (BuildDefinitionName)"> <메시지 텍스트 = "(변경 세트. – davewilliams459

+0

(끔찍한 서식이 적용되어서 죄송합니다.) 2 : <메시지 텍스트 ="마지막 항목 : % (LastItem.Identity) "/> – davewilliams459

+0

스택 교환에서 Visual Studio ALM 커뮤니티를 지원 하시겠습니까? http://bit.ly/caQ9ds –

답변

3

, 당신은 BuildDetail.SourceGetVersion를 사용할 수 있습니다. 이것은 단순히 변경 세트 번호를 제공합니다.

+0

감사합니다. 예, 곧 2010 년으로 업그레이드 할 예정입니다. 물론 현재로서는 옵션이 아닙니다. – davewilliams459

관련 문제