2009-04-22 14 views
20

Ho il seguente script msbuild che copia l'intera DeploymentDirectory nella directory VersionSpecificDirectory. Ecco il frammento:Come specificare la struttura della cartella con l'attività di copia di msbuild

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

Quale sarebbe lo script sia per copiare tutti i file nella DeploymentDirectory invece della directory stessa?

Aggiornamento: Ho provato a cambiare la direzione della barra per essere una barra rovesciata e il problema esiste ancora.

Un altro aggiornamento: questo non era correlato al codice msbuild. Sia il codice nella mia domanda che il codice nella risposta funzionano bene per fare ciò.

risposta

33

Prova questo:

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

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

Da MSDN.

Problemi correlati