2010-07-15 14 views
9

Tôi đang sử dụng Visual Studio 2010 và TFS 2010. Có cách nào mà phiên bản dll được tự động tăng lên với mỗi bản dựng TFS không?Phiên bản lắp ráp có thể được cập nhật tự động với mỗi TFS 2010 Build không?

Cảm ơn

+0

Tôi đã viết một bài đăng trên blog về tổng số trải nghiệm của tôi với phiên bản trong Team Build 2010: http://afsharm.blogspot.com/2010/07/versioning-assemblies-with-team-build.html –

Trả lời

3

Tôi có một bài viết trên blog về cách phiên bản lắp ráp của bạn trong TFS Build 2010: How to Create a Custom Workflow Activity for TFS Build 2010 RTM

+0

Tôi đã dành cả ngày để đọc bài đăng của bạn và áp dụng nó vào dự án của tôi. Tôi đã sửa từng vấn đề. Nhưng cuối cùng nó không cập nhật 'AssemblyVersion' trong' AssemblyInfo.cs' mà không có bất kỳ lỗi nào. Ngoài ra, tôi không tìm thấy bất kỳ điều gì trong mã mẫu của bạn cho biết các thay đổi sẽ được thực hiện lại trên điều khiển nguồn. Ngoài ra bạn đăng bài blog không cho phép tôi bình luận ở đó. –

+1

Không cần phải cam kết các thay đổi về kiểm soát nguồn vì phiên bản dựa trên số bản dựng. Sửa đổi các tập tin trong kiểm soát nguồn trong quá trình xây dựng nói chung là một cái gì đó bạn sẽ muốn tránh. Là hội đồng của bạn nhận được phiên bản, hay không? –

+0

Bây giờ tôi hiểu tại sao không có hoạt động nào tồn tại với kiểm soát nguồn. Nhưng hội đồng vẫn chưa được phiên bản. Tôi đã theo dõi quá trình bằng cách thêm 'WriteBuildWarning' ngay trước khi gọi' ReplaceInFile', vì vậy tôi chắc chắn 'ReplaceInFile' được thực thi. Tôi chỉ cố gắng sử dụng 'UpdateVersionInfo' thay vào đó nhưng vẫn không có phiên bản nào được phiên bản. Tôi đã đặt hoạt động trong 'Overal Build Process \ Run On Agent' ngay trước hoạt động' Initialize Variables'. Có thể đây là nguyên nhân gốc rễ của 'ReplaceInFile' và' UpdateVersionInfo' không hoạt động? –

0

Bạn có thể sử dụng phiên bản nhiệm vụ từ msbuildtasks

Dưới đây là blog post bởi Jeremy Jameson với từng bước hướng dẫn về cách sử dụng nó.

+0

Bài đăng trên blog đó là về TFS 2008 và xây dựng các nhiệm vụ. Nhưng tôi đang tìm kiếm một giải pháp TFS 2010. TFS 2010 sử dụng WF 4.0 thay vì xây dựng các nhiệm vụ. –

+0

@afsharm: chỉ cần thêm hoạt động công việc MSBuild để sử dụng tác vụ mà bạn cần. – bniwredyc

+1

bạn vui lòng giải thích cách thực hiện? –

2

Hãy thử TfsVersioning xây dựng định nghĩa. Nó có thể được alse mở rộng với Nugetter để tạo ra một gói NuGet và tải nó lên một kho lưu trữ.