2009-07-16 119 views
0

我試圖讓我的構建檢出一些文件(使用Microsoft.Sdc.Common.tasks),然後在構建完成後檢查它們。 但我似乎無法得到這個工作,更不用說在構建之前和之後。TFS構建SourceTfs.Checkout

Whaereabouts應該使用這種代碼嗎?

<?xml version="1.0" encoding="utf-8"?> 
<Project DefaultTargets="DesktopBuild;MyProjectDbUpdate" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5"> 
    <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets" /> 
    <PropertyGroup> 
    <TasksPath>C:\Program Files\MSBuild\sdc\</TasksPath> 
    </PropertyGroup> 
    <Import Project="$(TasksPath)\Microsoft.Sdc.Common.tasks" /> 

    <Target Name="MyProjectDbUpdate"> 
    <Message Text="MyProjectDbUpdate checkin start"/> 
    <SourceTfs.Checkout Path="$/MyProject/Code/MyProjectDbUpdate" TfsVersion="2008" workingDirectory="C:\buildagent\MyProject\ContinuousIntegration\Sources\Code" /> 
    <SourceTfs.Checkin Path="$/MyProject/Code/MyProjectDbUpdate" workingDirectory="C:\buildagent\MyProject\ContinuousIntegration\Sources\Code" Comments="Build checkout/checkin." TfsVersion="2008" Override="Build overrides checkin policy" /> 
    <Message Text="MyProjectDbUpdate checkin complete"/> 
    </Target> 


    <ProjectExtensions> 

    <ProjectFileVersion>2</ProjectFileVersion> 
    <Description>Build</Description> 
    <BuildMachine>MYSERVER</BuildMachine> 

    </ProjectExtensions> 

    <PropertyGroup> 
    <TeamProject>MyProject</TeamProject> 
    <BuildDirectoryPath>c:\buildagent\MyProject\ContinuousIntegration</BuildDirectoryPath> 
    <DropLocation>\\UNKNOWN\drops</DropLocation> 
    <RunTest>false</RunTest> 
    <RunCodeAnalysis>Never</RunCodeAnalysis> 
    <WorkItemType>Bug</WorkItemType> 
    <WorkItemFieldValues>System.Reason=Build Failure;System.Description=Start the build using Team Build</WorkItemFieldValues> 
    <WorkItemTitle>Build failure in build:</WorkItemTitle> 
    <DescriptionText>This work item was created by Team Build on a build failure.</DescriptionText> 
    <BuildlogText>The build log file is at:</BuildlogText> 
    <ErrorWarningLogText>The errors/warnings log file is at:</ErrorWarningLogText> 
    <UpdateAssociatedWorkItems>true</UpdateAssociatedWorkItems> 
    <AdditionalVCOverrides></AdditionalVCOverrides> 
    <CustomPropertiesForClean></CustomPropertiesForClean> 
    <CustomPropertiesForBuild></CustomPropertiesForBuild> 

    </PropertyGroup> 

    <ItemGroup> 
    <SolutionToBuild Include="$(BuildProjectFolderPath)/../../Code/MyProject.sln"> 
     <Targets></Targets> 
     <Properties></Properties> 
    </SolutionToBuild> 

    </ItemGroup> 

    <ItemGroup> 
    <ConfigurationToBuild Include="Release|Any CPU"> 
     <FlavorToBuild>Release</FlavorToBuild> 
     <PlatformToBuild>Any CPU</PlatformToBuild> 
    </ConfigurationToBuild> 

    </ItemGroup> 

    <ItemGroup> 
    </ItemGroup> 

    <PropertyGroup> 
    </PropertyGroup> 

    <ItemGroup> 
    </ItemGroup> 
</Project> 

回答

2

指定目標作爲默認目標是不會把它作爲團隊建設明確地設置它會調用目標。

嘗試重命名目標AfterGet或重寫的GetDependsOn財產,包括你的目標

<GetDependsOn> 
    $(GetDependsOn) 
    MyProjectDbUpdate; 
</GetDependsOn> 
+0

那麼簡單,但我完全錯過目標是如何工作的點...謝謝 – simon831 2009-07-16 15:10:22