Question

Je suis en train d'obtenir mon build à la caisse des fichiers (en utilisant Microsoft.Sdc.Common.tasks), puis de les vérifier après la construction est terminée. Mais je ne peux pas sembler obtenir ce travail du tout, et encore moins avant et après la construction.

Whaereabouts doit vivre ce genre de code?

<?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>
Était-ce utile?

La solution

Spécifier votre cible comme cible par défaut ne va pas l'appeler comme équipe à construire la cible fixe explicity il va appeler.

Renommez la cible à AfterGet ou redéfinissant la propriété GetDependsOn d'inclure votre cible

<GetDependsOn>
  $(GetDependsOn)
  MyProjectDbUpdate;
</GetDependsOn>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top