Розробка C # в Linux


107

Мені хотілося б знати, чи існують ефективні та відкриті засоби для розробки додатків C # на Linux (Ubuntu). Зокрема, я маю розробляти додатки Windows Forms.

Я знаю про проект Mono , але я його ніколи не використовував. Які найкращі інструменти (IDE, компілятор тощо) для створення середовища розробки .NET на Ubuntu?

Чи розроблено програмне забезпечення під управлінням Linux для Windows? Чи є різні поведінки або несумісності?


Також ви можете перевірити це питання stackoverflow.com/questions/151350 / ...
NlightNFotis

Це також може бути як - то корисне stackoverflow.com/questions/716077 / ...
NlightNFotis

Це також може зацікавити: mono-project.com/WinForms_Getting_Started_Guide
NlightNFotis

Відповіді:


69

MonoDevelop, IDE, пов'язаний з Mono Project, повинен бути достатнім для розробки C # в Linux. Зараз я не знаю хороших профілів та інших інструментів для розробки C # в Linux. Але потім знову зауважте, що C # - мова, рідна для Windows. Ви краще розробляєте додатки C # для Windows, ніж для Linux.

РЕДАКТУВАННЯ: Коли ви завантажуєте MonoDevelop з програмного центру Ubuntu, він буде містити майже все, що потрібно для початку роботи (Компілятор, середовище виконання, IDE). Якщо ви хочете отримати більше інформації, перегляньте наступні посилання:


1
Це програмне забезпечення, розроблене на Linux, що працює на Windows?
davioooh

2
Програмне забезпечення, розроблене на Windows або Linux, може працювати над рамками .Net. Отже, поки є можливість встановити .Net Framework в ОС, він може запускати додаток. Ви все-таки ознайомилися з версією;)
Шихам,

@nvrt Ipak, мені було цікаво, чи може різна реалізація рамок створити несумісні
davioooh

4
Наскільки я знаю, відстала сумісність завжди є. Проблеми можуть виникнути, якщо ви спробуєте запустити додаток поверх версії .Net 2.0, розробленої в .Net 3.5 або будь-яких пізніших версіях.
Шихам

Хоча вам слід зазначити, що .Net завжди здатний отримати більше в Windows. Mono - це скоріше проект сумісності, ніж реальна реалізація набору програмного забезпечення. Так я принаймні бачу.
NlightNFotis


9

Я б запропонував використовувати MonoDevelop.

Він майже чітко розроблений для використання з Mono, і все створено для розвитку в C #.

Найпростіший спосіб встановити його на Ubuntu - це встановити пакет monodevelop в Ubuntu. ( посилання на Mono на ubuntu.com ) (Однак, якщо ви хочете встановити більш нову версію, я не впевнений, який PPA був би відповідним)

Однак я б не рекомендував розробляти за допомогою інструментарію WinForms - я не очікую, що він матиме однакову поведінку в Windows та Mono (реалізація досить різна). Для огляду наборів інструментів користувальницького інтерфейсу, які працюють з Mono, ви можете перейти на інформаційну сторінку Mono-проекту .


8

Mono Develop - це те, що ви хочете, якщо ви використовували візуальну студію, вам слід знайти її досить простою, щоб почати роботу.

Якщо я пам'ятаю правильно, ви повинні мати можливість встановити sudo apt-get install monodevelop


Команда встановлення правильна, проте вам потрібно переконатися, що ви додали сховище monodevelop до вашої системи, перш ніж це зробити. Ось що працює посилання: monodevelop.com/download А ось спосіб додати сховище: `` `sudo apt install apt-transport-https dirmngr sudo apt-key adv --keyserver hkp: //keyserver.ubuntu. com: 80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF echo "deb download.mono-project.com/repo/ubuntu vs-bionic main" | sudo tee /etc/apt/sources.list.d/mono-official-vs.list sudo apt update `` `
FreedomInChaos

6

Mono - це середовище виконання, яке може запускати .NET-програми та працює як у Windows, так і в Linux. Він включає компілятор C #.

Як IDE, ви можете використовувати MonoDevelop , і, мабуть, є щось доступне і для Eclipse.

Зауважте, що підтримка WinForms у Mono є, але дещо бракує. Як правило, розробники Mono віддають перевагу різним наборам інструментів GUI, наприклад, Gtk #.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.