2009-04-22 33 views
20

Tôi có tập lệnh msbuild sau sao chép toàn bộ DeploymentDirectory vào VersionSpecificDirectory. Dưới đây là đoạn:Cách chỉ định cấu trúc thư mục với tác vụ sao chép msbuild

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

kịch bản sẽ là gì để sao chép tất cả các file trong DeploymentDirectory thay vì thư mục riêng của mình?

Cập nhật: Tôi đã thử thay đổi hướng của dấu gạch chéo thành dấu gạch chéo ngược và vấn đề vẫn tồn tại.

Cập nhật khác: Điều này không liên quan đến mã msbuild. Cả hai mã trong câu hỏi của tôi và mã trong câu trả lời hoạt động tốt cho việc này.

Trả lời

33

Hãy thử điều này:

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

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

Từ MSDN.

Các vấn đề liên quan