2009-04-22 4 views
20

J'ai le script msbuild suivant qui copie l'intégralité de DeploymentDirectory dans VersionSpecificDirectory. Voici l'extrait:Comment spécifier la structure de dossier avec la tâche de copie msbuild

<CreateItem Include="$(DeploymentDirectory)/**/*.*" > 
    <Output ItemName="AllDeploymentFilesToCopy" TaskParameter="Include" /> 
</CreateItem> 
<Copy SourceFiles="@(AllDeploymentFilesToCopy)" 
     DestinationFiles="@(AllDeploymentFilesToCopy->'$(VersionSpecificDirectory)\%(RecursiveDir)%(Filename)%(Extension)')" /> 

Qu'est-ce que le script est de copier tous les fichiers du DeploymentDirectory au lieu du répertoire lui-même? Mise à jour: J'ai essayé de changer la direction de la barre oblique en une barre oblique vers l'arrière et le problème persiste.

Autre mise à jour: Ceci n'était pas lié au code msbuild. Le code dans ma question et le code dans la réponse fonctionnent bien pour ce faire.

Répondre

33

Essayez ceci:

<ItemGroup> 
    <MySourceFiles Include="c:\MySourceTree\**\*.*"/> 
</ItemGroup> 

<Target Name="CopyFiles"> 
    <Copy 
     SourceFiles="@(MySourceFiles)" 
     DestinationFiles="@(MySourceFiles->'c:\MyDestinationTree\%(RecursiveDir)%(Filename)%(Extension)')" 
    /> 
</Target> 

De MSDN.

Questions connexes