Kann ich Programme in C # auf Ubuntu schreiben?

34

Ich bin gezwungen, C # zu lernen und zu üben. Gibt es Anwendungen, die C # unterstützen und zum Schreiben von Programmen in C # verwendet werden können?

AmirRazoR
quelle
10
Was hast du versucht? Die Verwendung einer einfachen Google-Kombination von Schlüsselwörtern C# Ubuntuzeigt die Antwort bereits.
Gertvdijk
gut, ich werde stimmen, um diese Frage zu löschen
AmirRazoR
3
Nur aus Erfahrung hier - es ist wahrscheinlich, dass Ihr College-Kurs davon ausgehen wird, dass Sie Windows verwenden, und wahrscheinlich mehrere Windows-Funktionen in C # verwenden wird, die nicht immer sehr gut mit Mono korrelieren, wie z. B. Winforms (obwohl ich Mono denke) Möglicherweise hat Winforms inzwischen implementiert, aber ich bin mir nicht sicher. Sie könnten auf Probleme stoßen.
Drake Clarris
Nun, seit ich Ubuntu benutze, bin ich kein einziges Mal zu Windows gegangen. aber ich werde diesen Rat in meinem Kopf behalten.
AmirRazoR
3
@AmirRazoR Die Mono-Laufzeit unterstützt Windows Forms. Mir sind jedoch keine integrierten Entwicklungsumgebungen in Ubuntu bekannt, die deren visuelle Erstellung unterstützen. Wenn Ihre Klasse die Sprache C # verwendet, wird Windows Forms vermutlich nicht behandelt, dies kann jedoch der Fall sein. Wenn Sie feststellen, dass Sie ein Windows-Betriebssystem verwenden müssen, können Sie Windows in einer virtuellen Maschine auf einem Ubuntu-System ausführen. Für die Virtualisierung von Windows ist jedoch eine Kopie erforderlich. (Wenn Sie eine bessere Grafikbeschleunigung benötigen, als eine virtuelle Maschine bieten würde, können Sie Ubuntu auf einer virtuellen Maschine unter Windows ausführen.)
Eliah Kagan

Antworten:

36

Ja, Sie können Mono verwenden

Damit eine gute IDE funktioniert, versuchen Sie es mit monodevelop

sudo apt-get install monodevelop

Dadurch werden auch alle erforderlichen Laufzeiten eingespart.

0x7c0
quelle
26

Was Sie suchen, ist Mono , das aus der Website des Projekts zitiert :

Eine plattformübergreifende Open Source-Implementierung von C # und der CLR, die mit Microsoft.NET binär kompatibel ist

Mono wird auch mit einer integrierten Entwicklungsumgebung (IDE) geliefert : MonoDevelop . Beide Softwarepakete sind für Ubuntu gepackt.

Mono

Installation über das Software Center

MonoDevelop

Installation über das Software Center

Dieses letzte Paket hängt vom ersten ab. Bei der Installation dieses Pakets wird automatisch das andere installiert.

Andrea Corbellini
quelle
Ich installiere jetzt Monodevelop. Würde dies auch Mono installieren, oder sollte ich einen bestimmten Befehl ausführen, um es zu installieren?
AmirRazoR
@AmirRazoR: ja, es würde Mono installieren. Ich habe auch meine Antwort aktualisiert, um diese Informationen hinzuzufügen.
Andrea Corbellini
4

Sie können C # -Anwendungen unter Linux mit .NET Core entwickeln: https://www.microsoft.com/net/core

Geben Sie nach der Installation dotnet new in Ihr Terminal ein, um eine Liste der Anwendungsvorlagen zu erhalten, die zum Starten generiert werden können.

Ab dem heutigen .NET Core 2.0 ist dies die Liste:

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        

Die aktuellste Version ist 2.0 und deckt alle meine Bedürfnisse ab.

Tadej
quelle
Ich mag, dass diese Antwort IDE-unabhängig zu sein scheint, aber ich bin gespannt, welche Art von Programmen sich für die Arbeit mit den mit diesen Befehlen erstellten Projekten eignet. Ich habe zum Beispiel keine Unterstützung für Razor-Seiten in MonoDevelop gesehen. Und VSCode scheint mir immer noch schwerfällig zu sein, da es Plugins und Compiler sehr streng modular behandelt.
anon58192932
Der Fahrer scheint vielversprechend zu sein: jetbrains.com/rider, aber ich habe es noch nicht ausprobiert. In der Zwischenzeit bin ich zurück zu Windows gewechselt, weil mir unter Linux zu viele Funktionen fehlten. Ich bin ein C # -Entwickler. Und Visual Studio macht die Entwicklung so viel einfacher. Ich habe Sublime Text für einige Zeit unter Linux verwendet.
Tadej