Lập trình VB.NET trong Ubuntu


16

Tôi mới bắt đầu học đại học lớp sáu, và tôi sẽ thi A-level. Tôi đã được thông báo tất cả các chương trình trong năm đầu tiên là trong VB.NET trên Windows (Tôi tin rằng bạn được phép tự do hơn trong năm thứ hai ...)

Tôi có phân vùng Windows XP và bạn có thể tải xuống Visual Basic Express Edition miễn phí, tuy nhiên tôi muốn biết mức độ nào tôi có thể sử dụng Ubuntu (Mono hoặc bất cứ thứ gì khác) cho nghiên cứu của mình? Bất cứ ai có thể cho tôi bất kỳ con trỏ về nơi bắt đầu?

Thực tế nếu điều này hoạt động tôi cần có khả năng sử dụng cùng các tệp / dự án / bất cứ thứ gì trên cả Ubuntu và Windows - để tôi có thể làm việc từ các máy Windows ở trường đại học, và quan trọng hơn là giáo viên có thể xem và đánh dấu công việc của tôi! (Tôi thực sự không muốn đưa ra ý kiến ​​hỏi giáo viên về việc sử dụng Ubuntu của mình, tôi thích hòa nhập và trở thành một sinh viên bình thường ...)


Kiểm tra Mono và MonoDevelop mono-project.com .
Bilal Akhtar

1
Tôi chỉ muốn nói rằng tôi thích phát triển với VB.net, và đó là một trong những ngôn ngữ yêu thích của tôi để học. Thật không may, khi tôi bắt đầu học VB.net, tôi đã tham gia các lớp học về C ++ và Java và rất ghét lập trình. Tôi vui mừng khi thấy rằng các trường học đang tiến tới bắt đầu với VB như là một mồi.
TheXed

Hấp dẫn. Tôi tò mò, VB.net tốt hơn C # (hay Java) như thế nào?
NoBugs

Câu trả lời:


18

Sử dụng MonoDevelop nhưng hãy cẩn thận với những điều kỳ quặc của phát triển .NET trên nền tảng X

Đầu tiên, cài đặt đơn âm bằng cách tìm nó trong Trung tâm phần mềm hoặc nhập

sudo apt-get install monodevelop mono-vbnc

MonoDevelop khá tương đương với Visual Studio Express , sự khác biệt chính là:

  • MonoDevelop không hỗ trợ WPF (Windows Presentation Foundation) nhưng điều đó không quan trọng lắm vì Microsoft có kế hoạch tiêu diệt WPF với sự xuất hiện của Windows 8.

  • Xác minh rằng mục tiêu khung .NET chính xác đang được sử dụng. Sau khi tạo giải pháp, nhấp chuột phải vào dự án và tùy chọn goto-> Build-> General. Không khác nhiều so với việc nhắm mục tiêu một phiên bản .NET cụ thể trên Windows.

Ngoài những vấn đề đó, tôi thực sự không tìm thấy thứ gì còn thiếu mà tôi không thể sống thiếu.

Vấn đề duy nhất khác (không liên quan đến đơn âm) có thể quay lại cắn bạn là vấn đề kết thúc dòng cổ điển. * nix vẫn sử dụng LF và Windows vẫn sử dụng CRLF cho các kết thúc dòng vì vậy, khi bạn chuyển các tệp nguồn của mình trở lại và thứ tư giữa Windows / * nix. AFIAK, MonoDevelop theo mặc định lưu các tệp nguồn trong UTF-8 nhưng VS lưu các tệp nguồn trong Windows ASCII (với windows-1252 latin ASCII với các kết thúc dòng cụ thể của windows). Nếu bạn nhận được các tệp nguồn được tạo bằng Visual Studio, bạn có thể cần phải chuyển đổi định dạng để làm cho nó hoạt động trong * nix.

Như bạn có thể thấy, việc phát triển .NET trên nền tảng x có thể hơi khó khăn lúc đầu nhưng IMHO, nó đáng giá. Tôi thích giao diện không lộn xộn của MonoDevelop (các hiệu ứng hình ảnh trong VS hầu hết thời gian), nó tải trong một phần nhỏ thời gian mà VS làm (hữu ích nếu bạn không thường xuyên mở IDE của mình ), nó chiếm một phần không gian mà không có thêm các addon không cần thiết (VS thực sự đáng ghét về điều này).

Cài đặt nó rất dễ dàng như sudo apt-get install monodevelop. Ngoài ra, các công cụ phổ biến như NUnit (để kiểm tra đơn vị) đã được chuyển sang và hoạt động hoàn hảo trong * nix. Phiên bản Windows của MonoDevelop kinda hút (hoặc ít nhất là lần trước tôi đã thử nó).

Cập nhật:

Để có được mã VB để biên dịch, bạn cũng cần cài đặt mô-đun trình biên dịch VB:

sudo apt-get install mono-vbnc

Tôi cũng cập nhật câu trả lời này để loại bỏ một số vấn đề không còn phù hợp.


1
Tôi nhận được một thông báo lỗi: Error: Visual Basict .NET compiler not found (Mono 2.4.4) (Testing)(đây thực sự chỉ là cố gắng chạy cài đặt sẵn ứng dụng bảng điều khiển Hello World VB.NET mặc định)
8128

3
@fluteflute Trình biên dịch không được tìm thấy vì nó không được cài đặt. Rõ ràng, trình biên dịch VB cho .NET không được cài đặt trong Ubuntu theo mặc định giống như nó dành cho C #. Chỉ cần 'sudo apt-get install mono-vbnc' để cài đặt nó.
Evan Plaice

Bạn có thể mở các dự án Visual Studio VB.net/C# trong Monodevelop, nó biên dịch và chạy tốt, thậm chí các biểu mẫu cửa sổ GUI hoạt động tốt. Tôi sẽ khuyên bạn nên bắt đầu với Visual Studio nếu có thể, nếu bạn đang làm việc trên các ứng dụng biểu mẫu MS Windows. Mono không có "chế độ thiết kế" dễ dàng để thiết kế chúng. (chưa?)
NoBugs

@NoBugs Mono có thể xử lý GUI Winforms? Tôi luôn nghĩ rằng họ sẽ chỉ gắn bó với GTK #. Tôi đoán đã đến lúc cập nhật câu trả lời này.
Evan Plaice

Có, tôi đã chạy hai dự án Windows-VS trong Mono mà không gặp vấn đề gì. Tôi nghĩ rằng bạn có thể cần phải thêm một nhập khẩu vào Monodevelop? GTK bản địa có lẽ là thứ mà hầu hết các ứng dụng Linux C # sử dụng.
NoBugs

4

Nó thực sự phụ thuộc vào giáo trình của bạn.

Mono có hỗ trợ ngôn ngữ VB.NET nhưng khung công tác hơi khác nhau và tôi dự đoán rằng phần lớn công việc của bạn sẽ là về khung .NET vì đây là ngôn ngữ cốt lõi. Nó có thể không giống như ở mức độ khá yếu tố (không có ý định xúc phạm!)

Ngay cả khi công việc chỉ là định hướng ngôn ngữ, như bạn nói, bạn sẽ không nhận được các tệp dự án meta Visual Studio ngớ ngẩn. Bạn có thể gặp vấn đề khi mở mọi thứ và (một lần nữa, như bạn nói) chắc chắn bạn sẽ gặp vấn đề khi chuyển mọi thứ sang người khác (có lẽ kém năng lực hơn).

Với trường hợp này và bạn vẫn muốn Ubuntu là hệ thống chính của mình, VirtualBox có vẻ như là cách tốt nhất để tương thích với các khóa học của bạn. Nó thuận tiện hơn nhiều so với khởi động kép nhưng nó đòi hỏi bạn phải có một máy tính hơn mức trung bình để có trải nghiệm tốt (đặc biệt là với một thứ gì đó chắc chắn như VS.NET).

Hoặc đánh bại giáo viên của bạn để học và dạy Python. Cho đến nay một ngôn ngữ đơn giản và tốt hơn.


3
+1 cho Hộp ảo + -1 cho Python làm ngôn ngữ cắt dán = 0
TheLQ

1
Có chuyện gì với Python vậy? Nó chắc chắn tốt hơn rất nhiều so với VB.
dv3500ea

2
Oh +1 cho Hộp ảo (đó là VB như Visual Basic), +100 cho python làm ngôn ngữ học tập.
Javier Rivera

1
Python có cú pháp bí truyền và dựa vào thụt lề để xác định cái gì được thực thi khi nào. Theo tôi nó tốt hơn VB, nhưng không phải là ngôn ngữ học.
ayan4m1
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.