代码之家  ›  专栏  ›  技术社区  ›  simon831

TFS生成源TFS.Checkout

  •  0
  • simon831  · 技术社区  · 15 年前

    我试图让我的构建签出一些文件(使用Microsoft.Sdc.Common.tasks),然后在构建完成后签入它们。 但我似乎根本无法让它工作,更不用说在构建之前和之后了。

    这种代码应该存在于什么地方?

    <?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>
    
    1 回复  |  直到 15 年前
        1
  •  2
  •   John Hunter    15 年前

    将您的目标指定为默认目标不会调用它,因为团队构建明确性设置了它将调用的目标。

    尝试将目标重命名为AfterGet或重写GetDependsOn属性以包含目标

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