Copier tous les fichiers et dossiers en utilisant msbuild

Je me demandais si quelqu’un pouvait m’aider avec des scripts msbuild que j’essayais d’écrire. Ce que je voudrais faire, c’est copier tous les fichiers et sous-dossiers d’un dossier vers un autre dossier en utilisant msbuild.

{ProjectName} |----->Source |----->Tools |----->Viewer |-----{about 5 sub dirs} 

Ce que je dois pouvoir faire, c’est copier tous les fichiers et sous-dossiers du dossier des outils dans le dossier de débogage de l’application. C’est le code que j’ai à ce jour.

      '$(OutputPath)\\Tools')" />  

Le script de compilation s’exécute mais ne copie aucun des fichiers ou dossiers.

Merci

Je cherchais de l’aide à ce sujet également. Cela m’a pris du temps, mais voici ce que j’ai fait qui a très bien fonctionné.

       

Cela a recursivement copié le contenu du dossier nommé antlrcs dans le $(TargetDir) .

Je pense que le problème réside peut-être dans la façon dont vous créez votre ItemGroup et en appelant la tâche de copie. Voir si cela a du sens:

   ..\SomeDestinationDirectory ..\SomeSourceDirectory         

Je suis un peu nouveau à MSBuild mais je trouve la tâche EXEC utile pour des situations comme celles-ci. J’ai rencontré le même défi dans mon projet et cela a fonctionné pour moi et était beaucoup plus simple. Quelqu’un s’il vous plaît faites-moi savoir si ce n’est pas une bonne pratique.

    
   ..\SomeDestinationDirectory ..\SomeSourceDirectory         

\**\*.* aide à récupérer les fichiers de tout le dossier. RecursiveDir aide à mettre tout le fichier dans le dossier respectif …

Avez-vous essayé de spécifier un répertoire de destination concret au lieu de

 DestinationFolder="@(Viewer->'$(OutputPath)\\Tools')" ? 

Je ne suis pas très compétent avec la syntaxe avancée de MSBuild, mais

 @(Viewer->'$(OutputPath)\\Tools') 

a l’air bizarre pour moi Le script a l’air bien, donc le problème pourrait être dans les valeurs de $(ApplicationDirectory) et $(OutputPath)

MODIFIER:

Voici un article de blog qui pourrait être utile:

Comment: copier récursivement des fichiers à l’aide de la tâche

Voici l’exemple qui a fonctionné:

         

source: https://msdn.microsoft.com/en-us/library/3e54c37h.aspx

Personnellement, j’ai utilisé CopyFolder, qui fait partie de la bibliothèque de tâches SDC.

http://sdctasks.codeplex.com/

C’est la tâche de copie que j’ai utilisée dans mon propre projet, cela fonctionnait parfaitement pour moi qui copie le dossier avec les sous-dossiers à destination avec succès:

      

Dans mon cas, j’ai copié le dossier de publication d’un projet dans un autre dossier de destination, je pense que c’est similaire à votre cas.