Mot-clé - MSBuild

Fil des billets - Fil des commentaires

29mai 2017

MSBuild: Copier un dossier avec wildcards

Une petite astuce pour copier des fichiers à partir d'une expression régulière avec MSBuild.

Avec cet exemple il est possible d'utiliser des wildcards pour identifier les éléments à copier.

<Target Name="BeforeBuild">
  [...]
  <ItemGroup>
    <_FoldersToCopy Include="$(ProjectDir)MyFolder\*TargetFolderSuffix\*.ext" />
  </ItemGroup>
  <Copy SourceFiles="@(_FoldersToCopy)"
    DestinationFolder="@(_FoldersToCopy->'$(TargetDir)MyFolder\%(RecursiveDir)')" />
  [...]
</Target>

Cela peut-être intéressant dans le cas où on utilise un pattern plugin et qu'on veut recopier toutes les librairies vers le répertoire de sortie.

Remarques

  • Si on place l'ItemGroup hors du target, Visual Studio l'efface automatiquement à chaque modification du csproj.
  • Ne fonctionne pas avec plusieurs dossiers qui porte le même nom.