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
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" />
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.
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 ...
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
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.
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? –
@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. –
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ẽ.
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# ...
- 1. Giải pháp thay thế SVG?
- 2. Giải pháp thay thế Graphviz?
- 3. Các giải pháp thay thế cho ERB
- 4. Giải pháp thay thế MathJax/jsMath?
- 5. Các giải pháp thay thế DbUnit.NET
- 6. Giải pháp thay thế phần mềm OpenGL
- 7. Các giải pháp thay thế cho @VisibleForTesting
- 8. Giải pháp thay thế JSON.stringify() trong JavaScript
- 9. Giải pháp thay thế cho Adobe Flash?
- 10. Các giải pháp thay thế cho vtable
- 11. Giải pháp thay thế GLUT cho Haskell?
- 12. NAnt và VS2008 (.NET 3.5) - Định dạng giải pháp của tệp Solution.sln không được hỗ trợ
- 13. Các giải pháp thay thế cho Bản tóm tắt?
- 14. Các giải pháp thay thế cho API Java Mail
- 15. Một giải pháp thay thế cho minibufexplorer (vim)?
- 16. Giải pháp thay thế cho thư viện JCIFS NTLM
- 17. Giải pháp thay thế cho Windows Workflow Foundation?
- 18. Giải pháp thay thế cho -dpkg cho Mac là gì?
- 19. Giải pháp thay thế với đầu vào tệp là gì?
- 20. Các giải pháp thay thế cho xargs -l
- 21. T-SQL cho mỗi giải pháp thay thế?
- 22. Một số giải pháp thay thế cho ReSharper là gì?
- 23. Tìm kiếm giải pháp thay thế cho JasperReports
- 24. Các giải pháp thay thế mã nguồn mở cho Pusher
- 25. Các giải pháp thay thế cho jQuery UI Resizable
- 26. Các giải pháp thay thế cho DWR (www.directwebremoting.org)
- 27. Các giải pháp thay thế cho The Treeview
- 28. Các giải pháp thay thế cho YepNope và LabJS
- 29. Giải pháp thay thế JSONObject trong mùa xuân và Jackson
- 30. Các giải pháp thay thế cho công cụ bytecode Java
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