Чи можна писати програми в C # на Ubuntu?


34

Я змушений вчитися і практикувати C #, чи є додатки, які підтримують і можуть бути використані для написання програм на C #?


10
Що ви пробували? Використання простої комбінації ключових слів Google C# Ubuntuвиявляє вже відповідь.
gertvdijk

добре, я проголосую за видалення цього питання
AmirRazoR

3
Просто з досвіду тут - цілком ймовірно, що ваш курс коледжу припустить, що ви перебуваєте у Windows, і, швидше за все, буде використовувати декілька функцій Windows лише в C #, які не завжди співвідносяться з моно, навіть як winforms (хоча я думаю, що моно можливо, з тих пір впровадили форму winform, але я не впевнений). Ви можете зіткнутися з проблемами.
Дрейк Кларріс

добре, оскільки день, коли я почав використовувати ubuntu, я не ходив у Windows жодного разу. але я буду тримати цю пораду на думці.
AmirRazoR

3
@AmirRazoR Монорежим роботи підтримує Windows Forms. Однак я не знаю жодних інтегрованих середовищ розробки в Ubuntu, які підтримують їх створення візуально. Якщо ваш клас на мові C #, я думаю, він не охоплює форми Windows Forms, але це може бути. Якщо ви виявите, що вам потрібно використовувати операційну систему Windows, ви можете розглянути можливість запуску Windows у віртуальній машині в системі Ubuntu. Однак для віртуалізації Windows потрібна копія. (Або якщо вам потрібне краще прискорення графіки, ніж це забезпечить віртуальна машина, ви можете запустити Ubuntu у віртуальній машині в Windows.)
Eliah Kagan

Відповіді:


36

Так, ви можете використовувати моно

Щоб приємний IDE працював у спробу monodevelop

sudo apt-get install monodevelop

Це також забезпечить усі необхідні умови виконання.


26

Що ви шукаєте, це Mono , яке цитується з веб-сайту проекту :

Відкритий код, міжплатформна, реалізація C # та CLR, що є бінарним сумісним з Microsoft.NET

Mono також поставляється з інтегрованим середовищем розробки (IDE): MonoDevelop . Обидва програмні засоби упаковані для Ubuntu.

Моно

Встановіть через програмний центр

MonoDevelop

Встановіть через програмний центр

Цей останній пакет залежить від першого. Встановлення цього пакета автоматично встановить інший.


я встановлюю Monodevelop прямо зараз, чи це також встановить Mono, або я повинен виконати певну команду, щоб встановити його?
AmirRazoR

@AmirRazoR: так, він би встановив Mono. Я також оновив свою відповідь, щоб додати цю інформацію.
Андреа Корбелліні

4

Ви можете розробляти додатки C # на Linux за допомогою .NET Core: https://www.microsoft.com/net/core

Після його встановлення введіть dotnet new у свій термінал, щоб отримати список шаблонів програм, які можна створити для запуску.

Станом на .NET Core 2.0 сьогодні цей список:

Templates                                         Short Name       Language          Tags               
--------------------------------------------------------------------------------------------------------
Console Application                               console          [C#], F#, VB      Common/Console     
Class library                                     classlib         [C#], F#, VB      Common/Library     
Unit Test Project                                 mstest           [C#], F#, VB      Test/MSTest        
xUnit Test Project                                xunit            [C#], F#, VB      Test/xUnit         
ASP.NET Core Empty                                web              [C#], F#          Web/Empty          
ASP.NET Core Web App (Model-View-Controller)      mvc              [C#], F#          Web/MVC            
ASP.NET Core Web App                              razor            [C#]              Web/MVC/Razor Pages
ASP.NET Core with Angular                         angular          [C#]              Web/MVC/SPA        
ASP.NET Core with React.js                        react            [C#]              Web/MVC/SPA        
ASP.NET Core with React.js and Redux              reactredux       [C#]              Web/MVC/SPA        
ASP.NET Core Web API                              webapi           [C#], F#          Web/WebAPI         
global.json file                                  globaljson                         Config             
Nuget Config                                      nugetconfig                        Config             
Web Config                                        webconfig                          Config             
Solution File                                     sln                                Solution           
Razor Page                                        page                               Web/ASP.NET        
MVC ViewImports                                   viewimports                        Web/ASP.NET        
MVC ViewStart                                     viewstart                          Web/ASP.NET        

Поточна остання версія - 2.0 та охоплює всі мої потреби.


Мені подобається, що ця відповідь здається незалежною від IDE, але мені цікаво, які програми будуть зручніше працювати з проектами, створеними цими командами? Наприклад, я не бачив підтримку сторінок Razor у MonoDevelop. І VSCode все ще здається мені незграбним із дуже суворим модульним підходом до плагінів та компіляторів.
anon58192932

Райдер здається перспективним: jetbrains.com/rider, але я ще цього не пробував. Тим часом я переїхав назад до Windows, тому що мені бракувало занадто багато функцій в Linux. Я розробник C #. А Visual Studio просто полегшує розробку. Я деякий час використовував Sublime Text в Linux.
Тадей
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.