Trong Visual Studio 2010, Microsoft cuối cùng đã nâng cấp định dạng tệp dự án Visual C++ (.vcproj) thành định dạng bản sao NANT dựa trên XML của nó MSBuild, bây giờ có tên .vcxproj. Điều này có nghĩa là các dự án C++ sẽ biên dịch mà không cần nỗ lực nhiều bằng cách sử dụng tác vụ.
Nếu bạn có thể thấy trước rằng bạn sẽ chỉ có một nhóm nhỏ và một số lượng giới hạn các bản dựng, tôi khuyên bạn nên TeamCity (http://www.jetbrains.com/teamcity/) bằng NAnt. TeamCity là một máy chủ CI dựa trên Java (dễ triển khai hơn trên máy chủ xây dựng Linux) hỗ trợ các tác nhân xây dựng riêng biệt (vì vậy bạn có thể có một số máy ảo Windows hoặc hộp chuyên dụng chạy các bản dựng của bạn).
Hỗ trợ của TeamCity đối với các bản dựng MSBuild, NAnt và Ant là tuyệt vời và nó có giao diện dựa trên AJAX rất đẹp, là niềm vui để sử dụng và cho phép bạn thiết lập và định cấu hình các dự án từ trình duyệt của bạn. Nếu bạn vượt qua ngưỡng 20 dự án của phiên bản miễn phí, nó sẽ trở nên vô cùng đắt tiền, tuy nhiên.
Tùy chọn khác tôi có thể đề xuất sẽ là Jenkins với NAnt, Ant, MSBuild hoặc một trong nhiều hệ thống xây dựng khác mà Jenkins có thể hỗ trợ. Jenkins là mã nguồn mở và sẽ xử lý các dự án không giới hạn, như TeamCity nó có thể chạy trên một máy chủ trong khi gửi các bản xây dựng để tách các tác nhân xây dựng và nó có các plugin cho nhiều công cụ C++ (nghĩ phân tích tĩnh, kiểm thử đơn vị và đóng gói).
Giao diện web của Jenkins không hoàn toàn tiện lợi và beauftiful như TeamCity, nhưng nó được sử dụng rộng rãi và có các plugin cho hầu hết mọi thứ.
Chúng tôi đã sử dụng NAnt khá thành công như một công cụ xây dựng nhưng * không * làm bộ phân tích phụ thuộc - như bạn đã nói NAnt không hoạt động tốt trong lĩnh vực đó. Chúng tôi chỉ đơn giản sử dụng nó để gọi ra msdev và bjam. – MattyT