J'écris un fichier de configuration MSBuild target/xml.Les dossiers récursivement copiés dans MSBuild sont incorrectement copiés dans un dossier
Disons que j'ai deux dossiers dans mon dossier source du projet que je veux copier. Je souhaite copier uniquement ces dossiers (et leur contenu) et ignorer les autres dossiers.
La spécification ci-dessous copie les fichiers corrects, mais ils sont tous simplement exportés dans un dossier. Les deux dossiers de niveau supérieur (bin et obj) sont perdus et leur contenu est simplement combiné dans un dossier.
Je veux fondamentalement copier les deux dossiers dans le nouveau dossier de niveau supérieur, exactement comme ils et leur contenu sont.
Script
<Target Name="Package" DependsOnTargets="Build">
<Message Text="Copying."></Message>
<ItemGroup>
<PackagedFiles Include="$(PipelineFolder)MyFolder\bin\**;
$(PipelineFolder)MyFolder\obj\**" />
</ItemGroup>
<MakeDir Directories="$(PipelineFolder)CopiedFolder" />
<Copy SourceFiles="@(PackagedFiles)" DestinationFolder="$(PipelineFolder)CopiedFolder\%(RecursiveDir)%(Filename)%(Extension)" />
</Target>
Quelle est la meilleure façon de copier uniquement les dossiers de niveau supérieur, je suppose que le caractère générique dans les PackagedFiles pointent vers tout ce qui est de ces dossiers. Je ne peux pas faire cela à partir du dossier au-dessus du répertoire de travail car alors je vais copier tous les autres dossiers (pas seulement ceux que je veux, bin et obj).
Merci.
Merci pour la réponse! – dahui
Désolé, je viens juste de faire le tour, j'ai dû mettre le projet en attente. Ce n'est pas tout à fait efficace, car il ne reste plus qu'à balayer tous les fichiers correspondants dans un répertoire, donc je l'ai annulé comme réponse pour l'instant. Est-il important d'avoir les "DefinePackageFolders" et "CopyPackageFolders" dans des cibles séparées? – dahui
Il est un peu plus près de travailler, mais il met toujours tous les fichiers dans un de mes dossiers imbriqués (le deuxième dossier "obj") – dahui