2009-04-22 5 views
20

Tengo el siguiente script de msbuild que copia todo el DeploymentDirectory en el directorio de la versión específica. Aquí está el fragmento:Cómo especificar la estructura de la carpeta con la tarea de copia de msbuild

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

¿Cuál sería el guión sea para copiar todos los archivos de la DeploymentDirectory en lugar del directorio en sí?

Actualización: Intenté cambiar la dirección de la barra oblicua hacia atrás y el problema persiste.

Otra actualización: Esto no estaba relacionado con el código msbuild. Tanto el código en mi pregunta como el código en la respuesta funcionan bien para hacer esto.

Respuesta

33

Prueba esto:

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

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

De MSDN.

Cuestiones relacionadas