2012-02-15 4 views
5

Vì vậy, tôi muốn tìm tất cả các tệp .xml và .pdb và xóa chúng khỏi thư mục đầu ra xây dựng. Tôi có thể làm điều này tại một thời điểm, nhưng tôi có thể làm điều này như một tìm thấy các tập tin phù hợp.TFS Tìm tập tin phù hợp với OR

+1

Bạn đang hỏi về việc thực hiện nó trong tập lệnh MSBuild? –

Trả lời

20

Nếu bạn đang làm điều này như là một phần của quá trình xây dựng TFS mẫu thì bạn cần một vài hoạt động và một biến. Tôi sẽ cố hết sức để nói chuyện với bạn.

  1. Tạo một Chuỗi đâu đó sau khi xây dựng đã hoàn thành - tôi đặt tôi ngay sau khi các tập tin được sao chép vào Drop Location.
  2. Tạo một biến scoped đến Chuỗi gọi matchedFiles loại IEnumerable<String>
  3. Thêm một FindMatchingFiles Hoạt động với trình tự và thiết lập các thuộc tính như sau
    • MatchPattern: String.Format("{0}\**\*.xml;{0}\**\*.pdb", BuildDetail.DropLocation). Bạn có thể thay đổi nó để sử dụng BinariesDirectory nếu bạn không làm sạch Thư mục Thả.
    • quả: matchedFiles
  4. Thêm một ForEach Hoạt động với trình tự và thiết lập các thuộc tính như sau:
    • Loại: String.
    • Foreach file trong matchedFiles
    • Trong Body thêm một mới InvokeMethod hoạt động và thiết lập các thuộc tính như sau:
      • TargetType: System.IO.File
      • methodname: Delete
      • Tham số: Hướng: In Loại: String Value: file

Bây giờ để tránh việc một mỗi tập tin Delete trong xây dựng đăng nhập của bạn, mở Process Template XAML với Visual Studio, tìm bước InvokeMethod, và thêm Thuộc tính sau vào XAML:

mtbwt:BuildTrackingParticipant.Importance="None" 
+2

+1 cho mẹo mtbwt: BuildTrackingParticipant.Importance = "None". Cảm ơn. – pantelif

+1

@DaveShaw, Câu trả lời tuyệt vời như vậy. Nếu tôi có thể upvote nó 100 lần tôi sẽ. Cảm ơn! – Matt

+0

Tôi ước gì tôi đã tìm thấy điều này 6 tháng trước. Cảm ơn, DaveShaw! – efisher