2009-05-31 20 views
5

Chúng tôi duy trì một ứng dụng cửa sổ cỡ trung bình được phát triển trong vb/C# .net trong công việc. Tuy nhiên, bây giờ quá trình xây dựng và triển khai cho ứng dụng này là thủ công. Tôi quyết tâm làm cho quá trình này được tự động hóa bằng cách sử dụng MSBuild mà bây giờ tôi không có kiến ​​thức.Cần mồi cho một newbie Msbuild

Ứng dụng của chúng tôi có cấu trúc xây dựng đơn giản, tập hợp các dự án đã được nhóm thành bốn giải pháp (.sln) và chỉ cần xây dựng bốn rãnh theo thứ tự. Và sau đó xuất bản một dự án (là một phần của đoạn cuối cùng được xây dựng) vào một thư mục. Đó là nó. Một quá trình đơn giản đã tiêu tốn 30 phút của thời gian xây dựng thủ công và tôi khá chắc chắn rằng điều này có thể được thực hiện mà không cần can thiệp bằng tay sử dụng msbuild trong ít nhất 1/4 thời gian.

Tất cả các mục tiêu của tôi đều tốt, tôi bắt đầu tìm kiếm các tài nguyên MSBuild trên web để hoàn thành quy trình của mình nhưng có thể nhìn xung quanh nhiều thứ làm tôi bối rối. Cần một con trỏ hoặc một lời giải thích tốt về cách bắt đầu và bắt đầu từ đâu cho kịch bản đơn giản của tôi. Giúp đỡ được nhiều đánh giá cao.

Trả lời

5

Điều này nghe giống như một tập lệnh rất dễ viết. Ngay cả một tập tin thực thi sẽ làm gì:

msbuild \path\to\first.sln /p:Configuration=Release 
msbuild \path\to\second.sln /p:Configuration=Release 
msbuild \path\to\third.sln /p:Configuration=Release 
msbuild \path\to\fourth.sln /p:Configuration=Release 
call deploy

Tất nhiên, tốt hơn nhiều là nên có một máy chủ đang chạy, nói CruiseControl.NET, cung cấp cho một giao diện web vào tình trạng xây dựng và lịch sử.

Trong MS Build, có hai điểm kiểm soát chính cho người gọi: Mục tiêu và Thuộc tính của nó. Target là những gì để biên dịch, tài nguyên, biên dịch, triển khai, vv Các thuộc tính kiểm soát cách mà Target được xây dựng.

Bạn có thể kiểm soát cấu hình bằng cách sử dụng thuộc tính Cấu hình (xem bên trên). Nếu bạn mở tệp *. * Proj, bạn sẽ thấy các phần tử PropertyGroup. Đây là những settable thông qua các dòng lệnh bằng cách sử dụng /p arg.

Sau đây là các thông số kỹ thuật cho hai args:

/target:<targets> Build these targets in this project. Use a semicolon or a 
       comma to separate multiple targets, or specify each 
       target separately. (Short form: /t) 
       Example: 
        /target:Resources;Compile 

/property:<n>=<v> Set or override these project-level properties. <n> is 
       the property name, and <v> is the property value. Use a 
       semicolon or a comma to separate multiple properties, or 
       specify each property separately. (Short form: /p) 
       Example: 
        /property:WarningLevel=2;OutDir=bin\Debug\ 
+0

Cảm ơn bạn đã trả lời. Nhưng làm thế nào để tôi thiết lập tùy chọn cấu hình và tất cả? Ví dụ: tôi gỡ lỗi các chương trình cài đặt ứng dụng của tôi ở chế độ DEbug nhưng tập lệnh phải luôn được xây dựng ở chế độ Phát hành. Cảm ơn bạn lần nữa vì đã trả lời nhanh chóng. – blntechie

+0

Tôi đã thêm chi tiết. Nó hoàn toàn đơn giản và đáng làm chủ. MS Build có thể tự động hóa ** rất nhiều **. –

1

Here's a good guide rằng có rất nhiều thông tin tuyệt vời về MSBuild, tích hợp liên tục và CuriseControl.NET. Chắc chắn là một nơi tốt để bắt đầu.

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