Czy mogę pisać programy w C # na Ubuntu?

34

Jestem zmuszony uczyć się i ćwiczyć C #, czy są jakieś aplikacje, które obsługują i mogą być używane do pisania programów w C #?

AmirRazoR
źródło
10
Czego próbowałeś? Użycie prostej kombinacji słów kluczowych Google C# Ubuntuujawnia już odpowiedź.
gertvdijk
dobrze zagłosuję za usunięciem tego pytania
AmirRazoR,
3
Tylko z doświadczenia tutaj - jest prawdopodobne, że twój kurs college'u zakłada, że ​​jesteś na Windowsie i prawdopodobnie użyje kilku funkcji Windows tylko w języku C #, które nie zawsze bardzo dobrze korelują z mono, takich jak winforms (chociaż myślę, że mono mogłem od tego czasu zaimplementować WinForm, ale nie jestem pewien). Możesz napotkać problemy.
Drake Clarris,
Cóż, odkąd zacząłem używać Ubuntu, nie poszedłem do Windows ani razu. ale zachowam tę radę na uwadze.
AmirRazoR
3
@AmirRazoR Środowisko wykonawcze mono obsługuje formularze Windows. Nie znam jednak zintegrowanych środowisk programistycznych w Ubuntu, które wspierają ich tworzenie wizualne. Jeśli twoja klasa jest w języku C #, domyślam się, że nie obejmie Windows Forms, ale może. Jeśli okaże się, że musisz użyć systemu operacyjnego Windows, możesz rozważyć uruchomienie systemu Windows na maszynie wirtualnej w systemie Ubuntu. Jednak wirtualizacja systemu Windows wymaga posiadania kopii. (Lub, jeśli potrzebujesz lepszego przyspieszenia grafiki niż maszyna wirtualna, możesz uruchomić Ubuntu na maszynie wirtualnej w systemie Windows.)
Eliah Kagan

Odpowiedzi:

36

Tak, możesz użyć mono

Aby ładne IDE działało w try monodevelop

sudo apt-get install monodevelop

Spowoduje to również pobranie wszystkich potrzebnych środowisk uruchomieniowych.

0x7c0
źródło
26

To, czego szukasz, to Mono , cytując ze strony internetowej projektu :

Open source, wieloplatformowa, implementacja C # i CLR, która jest binarnie kompatybilna z Microsoft.NET

Mono ma także zintegrowane środowisko programistyczne (IDE): MonoDevelop . Oba programy są zawarte w systemie Ubuntu.

Mono

Zainstaluj za pośrednictwem centrum oprogramowania

MonoDevelop

Zainstaluj za pośrednictwem centrum oprogramowania

Ten ostatni pakiet zależy od pierwszego. Zainstalowanie tego pakietu spowoduje automatyczne zainstalowanie drugiego.

Andrea Corbellini
źródło
instaluję teraz Monodevelop, czy to też zainstaluje Mono, czy powinienem uruchomić określone polecenie, aby go zainstalować?
AmirRazoR
@AmirRazoR: tak, zainstalowałby Mono. Zaktualizowałem również moją odpowiedź, aby dodać te informacje.
Andrea Corbellini,
4

Możesz tworzyć aplikacje C # na systemie Linux z .NET Core: https://www.microsoft.com/net/core

Po zainstalowaniu wpisz dotnet new w swoim terminalu, aby uzyskać listę szablonów aplikacji, które można wygenerować, aby rozpocząć.

Od dzisiaj .NET Core 2.0 jest to lista:

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        

Obecna najnowsza wersja to 2.0 i obejmuje wszystkie moje potrzeby.

Tadej
źródło
Podoba mi się, że ta odpowiedź wydaje się być niezależna od IDE, ale jestem ciekaw, jakie programy byłyby wygodne w pracy z projektami generowanymi przez te polecenia? Na przykład nie widziałem obsługi stron Razor w MonoDevelop. A VSCode wciąż wydaje mi się niezręczny dzięki bardzo ścisłemu modułowemu podejściu do wtyczek i kompilatorów.
anon58192932,
Jeździec wydaje się obiecujący: jetbrains.com/rider, ale jeszcze tego nie próbowałem. W międzyczasie wróciłem do systemu Windows, ponieważ brakowało mi zbyt wielu funkcji w systemie Linux. Jestem programistą C #. A Visual Studio sprawia, że ​​programowanie jest o wiele łatwiejsze. Przez jakiś czas korzystałem z Sublime Text w systemie Linux.
Tadej