2010-08-19 22 views
5

Tôi đã tạo một số tác vụ xây dựng MS cho dự án VS của mình. Thay vì phải cập nhật tệp Dự án VS với mỗi tác vụ, bạn có thể tạo một tệp ngoài để giữ các tác vụ xây dựng và tham chiếu nó thông qua tệp dự án chính không? Không.tệp bên ngoài để giữ các tác vụ msbuild

Ngoài ra, tôi đã thấy với nant, bạn có thể tạo tệp .bat để chạy tác vụ nant. Có thể làm tương tự với msbuild?

Trả lời

6

Có. Bạn có thể sử dụng tác vụ Nhập:

<Import Project="PathToMyIncludeFile\Include.proj" /> 

Và có bạn có thể tạo tệp bó để chạy msbuild. Cú pháp là

msbuild <project> /t:target[;target] /p:propertyname=propertyvalue 

Nơi mục tiêu được xác định trong tệp msbuild và thuộc tính là bất kỳ thuộc tính nào được xác định trong tệp. Nếu bạn không chỉ định mục tiêu, mặc định được định nghĩa trong phần tử tệp msbuild sẽ được chạy. Dưới đây là một vài ví dụ:

Vì vậy, để chạy xây dựng của bạn với Sạch và Compile mục tiêu:

msbuild myproject.proj /t:Clean;Compile 

Hoặc để chạy xây dựng của bạn với một mục tiêu của Compile và một cấu hình phát hành:

msbuild myproject.proj /t:Compile /p:Configuration=Release 

Hoặc để chạy xây dựng của bạn với mục tiêu mặc định và thiết lập một tài sản phiên bản:

msbuild myproject.proj /p:Version=2.0.0.1 

Tham số dòng lệnh được ưu tiên hơn các giá trị được xác định trong tệp. Vì vậy, trong ví dụ trên nếu bạn đã có phiên bản được định nghĩa trong tập tin như:

<PropertyGroup> 
    <Version>1.0.0.0</Version> 
<PropertyGroup> 

Việc xây dựng sẽ chạy với một phiên bản cấu hình của 2.0.0.1

Như thường lệ, hãy kiểm tra MSDN để biết thêm.