Tôi có một tập tin văn bản, trong đó có một số địa điểm của các tập tin mà tôi muốn sao chép vào một thư mục tạm thờiMS Build sao chép danh sách các thư mục được lưu trữ tại mục
---- List.txt ----
Build\Java
Build\Classes
Bây giờ, tôi đang lấy danh sách này thành một mục
<ReadLinesFromFile File="List.txt" >
<Output TaskParameter="Lines"
ItemName="DirectoryList" />
</ReadLinesFromFile>
Bây giờ, để thêm đường dẫn đầy đủ, và thêm một số không bao gồm, tôi một lần nữa lưu trữ nó vào một ItemGroup:
<ItemGroup>
<PackageList Include="$(BuildPath)\%(DirectoryList.Identity)\**\*.*"
Exclude="$(BuildPath)\%(DirectoryList.Identity)\**\*.pdb" />
</ItemGroup>
<Copy SourceFiles="@(PackageList)"
DestinationFiles="@(PackageList->'$(PackageTemp)\%(SourceDirectory)\%(DirInPackage)%(RecursiveDir)%(Filename)%(Extension)')" />
CẤP:
thực tế Dir -
C:\Work\Build\Java\Debug
C:\Work\Build\Java\Release
C:\Work\Build\Classes\*.class
Nội dung trong O/p
C:\temp\Debug
C:\temp\Release
C:\temp\*.class
Làm thế nào để làm cho nó sao chép "Java
" và "Classes
" thư mục tương ứng cũng?
Bạn đang cố gắng để kết hợp các giá trị từ 2 mảng trong DestinationFiles của bạn: @ (PackageList) và @ (DirectoryList), và tôi không chắc chắn rằng bạn có thể làm điều này trong msbuild – MariusCC