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


34

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


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

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


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.