Question

Dans mon script de construction exécuté par TFS2008 J'essaie de copier tous les fichiers du dossier A au dossier B de récursivement, j'ai réussi à le faire à l'aide de tâche:

<ItemGroup>
    <MyFiles Include="$(SolutionRoot)\MyFiles\**" />
</ItemGroup>

<Target Name="CopyFiles">
      <Message Text="Copy Files" />
      <Copy SourceFiles="@(MyFiles)"
            DestinationFolder="$(DeploymentFolder)\SomeFolder\%(RecursiveDir)" />

</Target>

Je voudrais soulever un avertissement via TFS lorsque myFiles est vide.

Donc j'ai deux questions:

  1. Comment puis-je soulever un avertissement via TFS?

  2. Comment puis-je découvrir si le groupe d'éléments contient aucun fichier?

Était-ce utile?

La solution

1) Tâche d'alerte

http://msdn.microsoft.com/en-us/library/92775ST5.aspx

2) Utilisez le msbuildhelperder.itemcount

http://www.msbuildextensionpack.com/help/4.0.2.0/index.html

Et voici un exemple de fichier de construction qui démontre son utilisation:

<Project ToolsVersion="4.0" DefaultTargets="Default;UpdateMetadata" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <PropertyGroup>
        <TPath>$(MSBuildProjectDirectory)\..\MSBuild.ExtensionPack.tasks</TPath>
        <TPath Condition="Exists('$(MSBuildProjectDirectory)\..\..\Common\MSBuild.ExtensionPack.tasks')">$(MSBuildProjectDirectory)\..\..\Common\MSBuild.ExtensionPack.tasks</TPath>
    </PropertyGroup>
    <Import Project="$(TPath)"/>

    <ItemGroup>
       <MyFiles Include="$(SolutionRoot)\MyFiles\**" />
    </ItemGroup>

    <Target Name="Default">
           <MSBuild.ExtensionPack.Framework.MsBuildHelper 
               TaskAction="GetItemCount" 
               InputItems1="@(MyFiles)">
              <Output TaskParameter="ItemCount" PropertyName="MyCount"/>
           </MSBuild.ExtensionPack.Framework.MsBuildHelper>
           <Warning
            Text=" No files in MyFiles collection."
            Condition="'$(MyCount)' &gt; '0'" />
    </Target>
</Project>

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top