2009-06-10 32 views
12

Tôi đã sử dụng NAnt một thời gian nhưng có vẻ như quá phức tạp đối với những gì tôi cần. Tôi đã tự hỏi nếu có bất kỳ lựa chọn thay thế xung quanh để xây dựng các dự án C#?Giải pháp thay thế NAnt

Trả lời

4

Tôi sẽ nói một khi bạn bắt đầu ở NAnt nó không phải là phức tạp. Tôi đã bỏ lỡ một chút một chút "tốt cho tôi bắt đầu" hướng dẫn và tất cả mọi thứ tôi đọc cảm thấy khá ngày. Một điều tốt là bạn có thể sử dụng MSBuild để xây dựng ứng dụng (đó là những gì tôi đang sử dụng) và làm phần còn lại với NAnt.

Ít nhất tôi nghĩ rằng nó không khó hơn MSBuild - và đối với những thứ MSBuild dễ dàng hơn, bạn được tự do sử dụng MSBuild cho điều đó.

Đây là những gì tôi đang sử dụng:

<exec program="msbuild.exe" 
     basedir="C:\windows\microsoft.net\Framework\v3.5\" 
     commandline="Project.csproj /p:OutDir=..\Outdir\; configuration=Release" /> 
1

Có MSBuild, nhưng nó không đơn giản hơn Nant.

Cả hai đều ổn khi bạn đã quen với cú pháp.

Tùy chọn đơn giản hơn là sử dụng các tệp Hàng loạt.

Cách khác là sử dụng CIFactory, cung cấp cách nhanh chóng để xây dựng và chạy máy chủ tích hợp liên tục và chạy.

2

Bạn có thể thử FinalBuilder - nó rất dễ sử dụng, mặc dù tôi thích gắn bó với NAnt. Và bạn luôn luôn có MSBuild ...

+0

Tôi thích các công cụ như [Visual Build] (http://www.kinook.com/VisBuildPro/) nhưng chúng là thương mại và chúng yêu cầu cài đặt toàn bộ các tệp trên hệ thống của bạn. Thậm chí không điều về việc chạy chúng trên một hệ điều hành khác. – Wernight

-2

Maven là một xây dựng công cụ tuyệt vời, nó đã được phát triển chủ yếu cho cộng đồng Java nhưng có bây giờ là một .NET plugin là để xây dựng các dự án C#. Có sự khác biệt khá lớn về khái niệm giữa Maven (see wikipedia cho một tổng quan ngắn gọn) và NAnt, do đó bạn có thể muốn đọc trên đầu tiên nếu bạn muốn thử nó.

2 tính năng thú vị:

  • bộ sưu tập Mature các plugin để thực hiện nhiệm vụ phổ biến như thử nghiệm, hệ doc, triển khai, vv
  • có thể tự động nhận được phụ thuộc dự án cho bạn từ một central repository
4

Có một số lựa chọn thay thế tuyệt vời hiện nay cho NAnt và MSBuild.

nRake (hoặc chỉ cần Rake)

http://jamescrisp.org/2010/03/20/nrake-rake-builds-for-net/

psake - xây dựng công cụ tự động viết bằng PowerShell

http://jameskovacs.com/2008/06/27/introducing-psake/

Cá nhân tôi đã sử dụng Nant và MSBuild và đang lo lắng chờ đợi chuyển đổi sắp tới của chúng tôi để một trong những (chúng tôi vẫn chưa quyết định nào). NAnt và MSBuild không phải là rằng khó bắt đầu với, nhưng khi xây dựng các tập lệnh bắt đầu trở nên lớn hơn và phức tạp hơn và bạn cần thực sự gỡ lỗi chúng, chúng trở thành một gánh nặng rất lớn để giải quyết. Nó thực sự phụ thuộc vào số tiền bạn đang tự động hóa.

+0

Tôi biết đây là một bài đăng cũ, nhưng bạn đã bao giờ chọn một quy trình xây dựng mới chưa? –

+1

@Mahah, Bây giờ tôi rất muốn giới thiệu Grunt hoặc Gulp. Cá nhân tôi thích Grunt nhưng Gulp đã nhận được nhiều chuyển đổi/sự chú ý hơn gần đây. –

-1

Phantom là một lựa chọn rất gọn gàng cho C#.Tôi ước nó đã được trong python (xách tay hơn) và được sử dụng nhiều hơn bởi vì cú pháp rất gọn gàng và mạnh mẽ.

0

Chúng tôi đang xem xét Cake - lợi thế lớn nhất là về cơ bản C#.
Với quá trình phức tạp, chúng tôi có ngày hôm nay nó là khá khó khăn để duy trì kịch bản Nant của chúng tôi sử dụng để xây dựng, đóng gói và nhãn mã cũng như kiểm tra đơn vị runnig, mã số bảo hiểm, phân tích tĩnh vv ..
Xem thêm Why should you use a general purpose scripting language for your build scripts?
Vì hầu hết các mã của chúng tôi là C#, chúng tôi sử dụng C# ...

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