.NET und C# unter Linux

Da schau, meine Installationen von .NET 6 als auch .NET 7 gingen unter Mint Linux 21 einwandfrei durch. Und zwar keine „inoffizelle“ Sache wie Mono, sondern das „echte“ .NET von Microsoft. Bei anderen Distributionen scheint das sogar schon länger zu gehen und auch .NET 8 bereitzustehen. Motiviert hat mich ein Beitrag auf Golem, welche Programmiersprachen in 2024 angeblich besonders wichtig sind/bleiben/werden. Interessanter Weise sind das meist die Sprachen, die ich sowieso ständig einsetze. Also Python, JavaScript, C# oder mit Einschränkungen Java . Dazu noch C und C++, was ich ja auch gelegentlich mache. Aber die Prognose will ich hier gar nicht weiter diskutieren. Nur die Tatsache herausheben, dass eben auch C# für sehr zukunftsträchtig angesehen wird.

Nun ist aber .NET so eine Sache, wenn man – wie ich – von Windows mehr und mehr Abstand nehmen möchte. Aber mittlerweile scheint Microsoft ernsthaft die Portierung von .NET mit (fast) allen Fassetten auf Linux zu unterstützen. Die Kommentare im Golem-Forum waren wie gesagt motivierend für mich und deshalb habe ich die Installation versucht. Es war für .NET 6 nur die Anweisung notwendig:

sudo apt install dotnet6

Analog für .NET 7:

sudo apt install dotnet7

.NET 8 habe ich so noch nicht installiert bekommen, wenngleich es für viele neuere Distributionen (u.a. auch Ubuntu) angeblich wie folgt eine Installation gibt, die auch Microsoft offiziell promoted:

sudo apt-get update && \ sudo apt-get install -y dotnet-sdk-8.0 

Aber das ist bei meinem Mint Linux wie gesagt derzeit nicht erfolgreich, was auch im Moment kein echtes Problem für mich ist. .NET 7 unter Linux langt mir erst einmal vollständig.

Nun stellt sich aber dann noch die Frage, nach einer passenden Entwicklungsumgebung? Visual Studio selbst ist m.W. unter Linux nicht verfügbar, aber Visual Studio Code. Und VSC kann mit diversen Extensions für .NET ergänzt werden. Damit ist zwar die Programmierung in .NET mit C# (bzw. vermutlich auch VB oder F# – das muss ich nochmal erruieren) etwas mühseeliger wie mit Visual Studio (insbesondere das Kompilieren und Ausführen), geht aber. Zumindest bei Konsolen- und Web-Applikationen.

Bisher gehe ich so vor (installiertes .NET-Framework vorausgesetzt), wie es auch auf den Support-Seiten von Microsoft zu finden ist:

  1. Zuerst öffne ich in VSC einen Ordner.
  2. Dann wird im Terminal das angegeben:
    dotnet new console –framework net7.0

Das legt in dem Ordner bereits ein C#-Projekt an, das mit einer Cs-Schablone einherkommt, die man anpassen und dann wie üblich durch die Auswahl einer passenden Run-Configuration übersetzen und ausführen kann.

Weiter bin ich im Moment noch nicht, aber ich bleibe mal am Ball. Sieht alles vielversprechend aus.