Могу ли я писать программы на C # в Ubuntu?

34

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

AmirRazoR
источник
10
Что вы пробовали? Использование простой комбинации ключевых слов Google C# Ubuntuуже раскрывает ответ.
gertvdijk
хорошо я буду голосовать, чтобы удалить этот вопрос
AmirRazoR
3
Просто из нашего опыта - вполне вероятно, что ваш курс в колледже будет предполагать, что вы находитесь на Windows, и, вероятно, будет использовать несколько функций Windows в C #, которые не всегда очень хорошо коррелируют с моно, например winforms (хотя я думаю, что моно возможно, с тех пор реализовал winforms, но я не уверен). Вы можете столкнуться с проблемами.
Дрейк Кларрис
Ну, с того дня, как я начал использовать Ubuntu, я не заходил в Windows ни разу. но я буду держать этот совет в уме.
AmirRazoR
3
@AmirRazoR Моно среда выполнения поддерживает Windows Forms. Однако мне не известны какие-либо интегрированные среды разработки в Ubuntu, которые поддерживают их создание визуально. Если ваш класс на языке C #, я думаю, он не будет охватывать Windows Forms, но это возможно. Если вы обнаружите, что должны использовать операционную систему Windows, вы можете рассмотреть возможность запуска Windows на виртуальной машине в системе Ubuntu. Виртуализация Windows требует наличия копии. (Или, если вам нужно лучшее графическое ускорение, чем могло бы обеспечить виртуальная машина, вы можете запустить Ubuntu на виртуальной машине в Windows.)
Элия ​​Каган,

Ответы:

36

Да, вы можете использовать моно

Для хорошей IDE для работы в попробуйте monodevelop

sudo apt-get install monodevelop

Это также вытянет все необходимое время выполнения.

0x7c0
источник
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 и охватывает все мои потребности.

Tadej
источник
Мне нравится, что этот ответ кажется независимым от IDE, но мне любопытно, какие программы будут удобны для работы с проектами, сгенерированными этими командами? Например, я не видел поддержки страниц Razor в MonoDevelop. И VSCode все еще кажется мне неуклюжим с его очень строгим модульным подходом к плагинам и компиляторам.
anon58192932
Райдер выглядит многообещающе: jetbrains.com/rider, но я еще не пробовал. В то же время я вернулся к Windows, потому что мне не хватало слишком много функций в Linux. Я разработчик C #. А Visual Studio делает разработку намного проще. Некоторое время я использовал Sublime Text в Linux.
Тадей