2008-08-05 36 views
32

Tôi bắt đầu cố gắng chơi với Mono, chủ yếu là để vui chơi tại thời điểm này. Lần đầu tiên tôi đã cố gắng sử dụng các plugin Visual Studio sẽ chuyển đổi một csproj thành một makefile, nhưng dường như không có phiên bản có sẵn cho Visual Studio 2005. Tôi cũng đọc về IDE MonoDevelop, mà nghe có vẻ tốt đẹp. Thật không may, không có gói Windows pre-fab cho nó. Tôi đã cố gắng làm theo một số hướng dẫn để xây dựng nó bằng cách kết hợp các phụ thuộc từ các cài đặt bán liên quan khác. Nó không hoạt động, nhưng đó có thể là vì tôi là một người theo định hướng Windows và chỉ có thể đánh vần "makefile".Thiết lập tốt nhất cho phát triển Mono trên Windows là gì?

Vì vậy, câu hỏi của tôi là: Cách năng lượng thấp nhất để bắt đầu và chạy thử một số phát triển dựa trên Mono trên Windows là gì?

Trả lời

15

Tôi muốn giới thiệu VMWare Player và sử dụng hình ảnh nền tảng phát triển Mono miễn phí được cung cấp trên trang web.

Download Mono

Thiết lập thời gian cho việc này sẽ được tối thiểu, và nó cũng sẽ cho phép bạn để có được mã của bạn làm việc trong .NET và sau đó tập trung vào các vấn đề porting mà không có một rắc rối lớn của máy chuyển mạch và các loại tương tự. các công cụ VMWare Player sẽ cho phép bạn chỉ cần kéo và thả các tập tin trên để sao chép chúng.

Tôi đang tìm cách sử dụng một vài ứng dụng .NET của mình và làm cho chúng tương thích với Mono, và đây là con đường tôi sẽ thực hiện ở đây ngay.

9

@Chris Tôi đã thấy rằng Visual Studio là IDE tốt nhất để phát triển chống lại .NET - Tôi nghĩ cách tốt nhất để nhắm mục tiêu Mono thực sự là phát triển và xây dựng trong Visual Studio trong Windows, sau đó chỉ cần chạy các tệp nhị phân đó trực tiếp Linux (hoặc bất kỳ nền tảng Mono nào khác mà bạn đang sử dụng). Có phiên bản miễn phí của Visual Studio nếu cấp phép là một mối quan tâm. Nếu bạn đang phát triển dưới Linux, phần mềm tốt nhất có lẽ là Eclipse với một plugin Mono (xem The Mono Handbook - Eclipse để được hướng dẫn cài đặt) nhưng hãy nhớ rằng nó không có gần số lượng tính năng hoặc tích hợp ngôn ngữ mà Visual Studio có.

@modesty Mono là một bên thứ ba triển khai mã nguồn mở của khung công tác .NET cho phép bạn chạy các ứng dụng .NET trên các nền tảng không phải Windows.

3

Bản năng đầu tiên của tôi sẽ là "Cài đặt Linux" khá không hữu ích. Bạn có phần swimming against the current để thử và phát triển ở chế độ đơn dưới cửa sổ. Cài đặt GTK và mọi thứ đều hơi phiền phức trong trải nghiệm của tôi.

Nếu bạn cảm thấy như sử dụng Linux, sau đó bạn có thể Try Ubuntu

Nếu không:

Có một số thông tin ở đây: http://www.mono-project.com/Mono:Windows và có vẻ như các cygwin toolchain có thể là lựa chọn tốt nhất của bạn. Tôi không nghĩ rằng bạn sẽ có thể tránh makefiles, thật đáng buồn. Tôi đã tìm thấy hướng dẫn rõ ràng hơn một chút từ O'Reilly.

@modesty:

Mono cung cấp phần mềm cần thiết để phát triển và chạy các ứng dụng khách và máy chủ .NET trên Linux, Solaris, Mac OS X, Windows và Unix. Được tài trợ bởi Novell ( http://www.novell.com), dự án mã nguồn mở Mono có một cộng đồng đóng góp tích cực và nhiệt tình và được định vị để trở thành lựa chọn hàng đầu cho việc phát triển các ứng dụng Linux.
- Từ trang Mono.

1

Tôi thích ý tưởng cố gắng sử dụng MonoDevelop chủ yếu chỉ để đảm bảo nội dung của tôi sẽ hoạt động chống lại các thời gian hoạt động của Mono. Tôi đoán nó cũng sẽ có thể bị điên với msbuild và viết một số mục tiêu tùy chỉnh đã cố gắng xây dựng chống lại Mono, nhưng về cơ bản là mô phỏng chức năng của trình cắm thêm không còn tồn tại mà tôi cho là không tầm thường để xây dựng. Tôi có kinh nghiệm nhỏ với Cygwin, và tôi hạnh phúc gõ "cấu hình" và "làm cho" tất cả các ngày dài, nhưng khi một vấn đề xảy ra trong quá trình đó, tôi gần như hơi say. Tôi có thể sẽ cố gắng chơi với tất cả điều này một lần nữa, nhưng nếu tôi mất hơn một vài giờ để tìm ra cách để xây dựng thoải mái chống lại các cuộc rượt đuổi Mono, tôi có thể sẽ bảo lãnh.

Tôi sẽ thử ý tưởng Eclipse. Tôi sử dụng nó cho Java, vì vậy tôi có thể có được các công cụ C# để làm việc. Chúng ta sẽ thấy ...

6

Một trong những điều tốt nhất bạn có thể làm nếu phát triển với Visual Studio cho Mono là tải MoMA http://www.mono-project.com/MoMA. Điều này sẽ kiểm tra bất kỳ số lượng hội đồng nào mà bạn xây dựng và tạo báo cáo hiển thị các vấn đề Mono tiềm ẩn (ví dụ: các phương pháp không được triển khai trong thư viện đơn âm). Nó có thể được chạy từ GUI hoặc dòng lệnh để sử dụng trong các bản dựng tự động.

3

Plugin Eclipse cho Mono đã chết. Trên Linux, hãy sử dụng MonoDevelop hoặc X-Develop nếu bạn thích hỗ trợ thương mại tốt (mặc dù MonoDevelop đang đóng cửa nhanh chóng với tính năng này). Trên Windows SharpDevelop có các mục tiêu MSBuild tùy chỉnh để biên dịch mã chống lại Mono.

Vì Mono và MonoDevelop đang thay đổi nhanh chóng, hãy đảm bảo sử dụng các phiên bản mới nhất, ngay cả khi chúng không được đánh dấu là ổn định (ví dụ: phiên bản được bán kèm với kho Ubuntu đã lỗi thời).

Hình ảnh VMWare là một cách tuyệt vời để bắt đầu kiểm tra mã do Windows phát triển trên Linux. Đừng chạm vào Cygwin trừ khi bạn đã rất phù hợp với nó.

4

Miguel có bài đăng về gỡ lỗi Mono đang chạy trên Linux với gỡ lỗi từ xa trên Visual Studio. Đây có thể là điều bạn muốn xem xét ... Using Visual Studio to debug Mono. Ngoài ra còn có một dự án mới gọi là CloverLeaf có mục tiêu là cho phép gỡ lỗi Mono trên Windows trong Visual Studio.

4

Không có lý do gì để xây dựng ứng dụng của bạn bằng Mono; toàn bộ điểm của .Net CLR là đầu ra được biên dịch là nền tảng chéo. Vì vậy, bạn có thể chỉ cần xây dựng nó bằng cách sử dụng IDE yêu thích của bạn (và nếu bạn thích IDE, Microsoft là tốt nhất để sử dụng) và sau đó kiểm tra nó trên Mono. Thậm chí nếu bạn có Mono làm việc trên Windows, nó sẽ không phải là một thử nghiệm rất tốt về tính di động của ứng dụng của bạn: điều gì sẽ xảy ra nếu ứng dụng của bạn làm những điều ngớ ngẩn như giả sử tên tệp có dấu gạch chéo ngược trong chúng hoặc có điều gì đó đặc biệt về thư mục có tên Program Files? Cách tốt nhất để làm thử nghiệm tính di động là thực sự thử nghiệm ứng dụng của bạn trên nền tảng đích.

Và điều đó khá dễ thực hiện với trình phát VMware Linux như ở số http://www.go-mono.com/mono-downloads/download.html.

4

Cá nhân, tôi chỉ biên soạn trong Visual Studio 2008 như thể nó là dành cho .Net 2.0 và sau đó chạy trong Mono (VS2008 trên Windows trong VirtualBox, Mono trên OSX). Tất cả các vấn đề xuất hiện trong thời gian chạy, dù sao, vì vậy hệ thống hoạt động hoàn hảo.

Tôi chỉ tìm thấy trang này very new link, điều này thật tuyệt vời và cho bạn thấy cách thiết lập Visual Studio 2008 cho Mono.

Đồng thời, thiết lập Mono on OpenSuse or Ubuntu inside a VirtualBox (Sản phẩm của Sun) dễ dàng, không đau và không buộc bạn từ bỏ bất kỳ nền tảng nào bạn thường sống.

Điều này không liên quan đến câu hỏi của bạn, nhưng tôi có thể lưu ý rằng tôi vừa vào Mono và tôi ngạc nhiên về số lượng .Net được triển khai, bao gồm phần lớn công cụ Winform.

11

Một năm sau đó và câu trả lời cho điều này đã thay đổi rất nhiều. Bây giờ bạn có thể sử dụng MonoDevelop trên Windows, hoặc nếu bạn cảm thấy thoải mái hơn trong Visual Studio, bạn có thể sử dụng Visual Studio Tools để viết mọi thứ và sau đó gỡ lỗi trên máy ảo để đảm bảo nó hoạt động trên Linux.

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