2012-01-27 19 views
13

Tôi có một giải pháp được xây dựng trên máy chủ TFS. Giải pháp này bao gồm một số dự án có nhiệm vụ MSBuild tùy chỉnh. Các nhiệm vụ thực sự tạo ra một số lưu trữ zip.Cách chuyển biến TFS vào nhiệm vụ MSBuild của dự án

Tôi cần trích xuất bằng cách nào đó các macro $ (Rev) từ bản dựng TFS và chuyển nó cho các tác vụ. Tôi cố gắng để sử dụng MSBuildArguments trong quá trình tab của định nghĩa xây dựng và nó hoạt động khi tôi đặt một giá trị chuỗi đơn giản như:

/p: Phiên bản = "5"

nhưng nó không làm việc với các macro :

/p: Phiên bản = "$ (Rev: r)"

enter image description here

làm bạn có bất kỳ ý tưởng?

Chỉnh sửa: Tôi thực sự cần BuildDetail.BuildNumber.

+0

Tôi có thể hỏi điều gì khiến bạn nghĩ đó là các macro không? –

+0

Hm, tôi chỉ nghĩ nó được gọi là macro. Kiểm tra định dạng số xây dựng - nó được xây dựng với các macro này. Liệu tôi có sai? Tôi là một newbie trong TFS. –

+0

Có, chúng không chung chung. Điều định dạng số bản dựng cụ thể cho số bản dựng. –

Trả lời

14

Bạn có thể thay đổi một chút mẫu quy trình xây dựng của mình để đạt được điều đó.
Theo mặc định các phần có liên quan đến MSBuild trông như thế này:
enter image description here
này có thể được mở rộng sang một cái gì đó như thế này:
enter image description here

Nếu bây giờ bạn nhập vào "MSBuild Arguments" của định nghĩa xây dựng của bạn (tương tự như hình ảnh của bạn) một cái gì đó như /p:Version=RePlAcE, bạn sẽ nhận được những gì bạn cần.

Trong một định nghĩa xây dựng khác mà bạn không cần điều này, chỉ cần để trống mục nhập. Cách tiếp cận này là phương pháp thay thế cho phương pháp tìm thấy here và nên được chọn nếu việc chèn phiên bản này không được mong muốn rõ ràng cho tất cả các định nghĩa xây dựng tiêu thụ nó.

+0

vâng, cảm ơn. Tôi đã làm chính xác như cũ –

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