Verwendung von .NET
ServBay bietet .NET-Entwicklern eine bequeme und effiziente Entwicklungsumgebung auf macOS. Mit dem Paketmanagementsystem von ServBay können Sie problemlos mehrere .NET SDK-Versionen installieren, verwalten und ausführen – darunter das moderne .NET (also .NET Core und Nachfolger) sowie das klassische Mono-Framework – um verschiedenen Projektanforderungen gerecht zu werden.
Überblick
Geschichte der .NET-Plattform und macOS-Unterstützung
.NET ist eine von Microsoft entwickelte vielseitige Entwicklungsplattform. Die Entwicklungsgeschichte und Versionshistorie sind für das Verständnis der Unterstützung unter macOS entscheidend:
.NET Framework (Ursprüngliche Version): Das erstmals 2002 erschienene .NET Framework war Microsofts Flaggschiff-Plattform, aber ursprünglich nur für Windows ausgelegt. Es beinhaltet die Common Language Runtime (CLR) und eine umfangreiche Basisklassenbibliothek (FCL). Das Ausführen von .NET Framework-Anwendungen direkt unter macOS ist in der Regel nicht möglich.
Mono (Pionier der Cross-Plattform-Entwicklung): Um .NET-Anwendungen auf Linux und macOS zugänglich zu machen, entwickelte die Community – anfangs initiiert von Ximian, später unterstützt von Novell und Xamarin/Microsoft – das Mono-Projekt. Mono ist eine Open-Source- und plattformübergreifende Implementierung des .NET Frameworks. So können Entwickler auf macOS und Linux Anwendungen entwickeln und ausführen, die ursprünglich für das .NET Framework (insbesondere C#-Anwendungen) geschrieben wurden. Für ältere .NET Framework-Projekte oder Bibliotheken ist Mono unter macOS weiterhin wertvoll.
.NET Core / .NET 5+ (Moderne Cross-Plattform-Strategie): Nach der Bedeutung von Plattformunabhängigkeit entwickelte Microsoft mit .NET Core eine moderne, leistungsfähige, quelloffene und vollständig plattformübergreifende .NET-Variante, die Windows, macOS und Linux unterstützt. Ab .NET Core 3.1 wurde das Produkt in .NET (ab Version 5, die 4 wurde zur Vermeidung von Verwechslungen mit .NET Framework 4.x übersprungen) umbenannt. Heute bezieht sich der Begriff .NET SDK in der Regel auf diese moderne Cross-Plattform-Version (.NET 5, 6, 7, 8, 9, 10 usw.). Microsoft empfiehlt diese Plattform für sämtliche Neuentwicklungen – auch auf dem Mac.
ServBay-Unterstützung für .NET
ServBay berücksichtigt die Entwicklungsgeschichte von .NET und die vielfältigen Anforderungen der Entwicklergemeinschaft und bietet daher:
- Moderne .NET SDK-Pakete: Verschiedene Versionen von .NET (Core) SDKs (z. B. .NET SDK 2.0 bis 10.0), sodass Sie mit aktuellen C#, F# und ASP.NET Core-Versionen plattformübergreifend entwickeln können.
- Mono-Pakete: Enthält die Laufzeitumgebung Mono (z. B. Mono 6) zur Unterstützung älterer .NET-Framework-Projekte oder spezialisierter .NET-Bibliotheken auf macOS, darunter die eingeschränkte Unterstützung für ältere ASP.NET-Lösungen (Web Forms, System.Web MVC).
- Parallele Installationen: Sie können mehrere .NET SDK-Versionen und Mono gleichzeitig installiert haben.
- Projektbezogenes Versioning: Mit der Datei
.servbay.config
können Sie pro Projekt festlegen, welche moderne .NET SDK-Version verwendet werden soll. - Vereinfachtes Management: Über die grafische Oberfläche von ServBay lassen sich verschiedene SDK- und Mono-Versionen komfortabel anzeigen, installieren und deinstallieren.
Zugriff auf .NET-Pakete
- Öffnen Sie die ServBay-Anwendung.
- Klicken Sie in der linken Navigationsleiste auf
Pakete (Packages)
. - Scrollen Sie auf der Seite
Pakete
nach unten oder wählen Sie im linken KategorienmenüLanguages
→.NET
aus. - Im rechten Bereich erscheint dann eine Liste aller verfügbaren .NET SDK- und Mono-Pakete.
Installation des .NET SDK
Die Paketliste zeigt klar den Status jeder .NET SDK-Version an:
- Package Name: Der Paketname wie
.NET SDK 8.0
oderMono 6
. - Version: Die exakte Versionsnummer dieses Pakets.
- Status: Zeigt
Installed
(installiert) oderNot Installed
(nicht installiert) an. - Control: Bedienelemente zum Verwalten der Pakete.
So installieren Sie eine noch nicht installierte .NET SDK-Version (zum Beispiel .NET SDK 10.0
):
- Suchen Sie die gewünschte Version in der Liste.
- Stellen Sie sicher, dass der Status
Not Installed
ist. - Klicken Sie ganz rechts auf das Symbol Download/Installieren (meist ein Pfeil nach unten).
- ServBay beginnt mit dem Download und der Installation des ausgewählten SDKs. Je nach Internetgeschwindigkeit und Größe des SDKs kann dies einige Zeit dauern.
- Nach erfolgreicher Installation wechselt der Status zu
Installed
und das Symbol ändert sich zu Deinstallieren (Papierkorb).
Verwaltung installierter SDKs
- Installierte Versionen anzeigen: Der Status
Installed
markiert sofort sämtliche .NET SDK- und Mono-Versionen, die aktuell in Ihrer ServBay-Umgebung vorhanden sind. - SDK deinstallieren: Wenn Sie eine installierte SDK-Version nicht mehr benötigen, klicken Sie einfach auf das entsprechende Deinstallieren-Symbol (Papierkorb) und bestätigen Sie den Vorgang, um sie vollständig zu entfernen.
Verwendung installierter .NET SDKs
Nach der Installation eines .NET SDKs fügt ServBay das dazugehörige dotnet
-Kommando (sofern die ServBay-Umgebung aktiv ist) automatisch dem PATH hinzu. Das bedeutet: Sie können in Ihrem macOS-Terminal direkt das dotnet
-Kommando nutzen.
Häufige Befehle im Überblick:
Installierte SDK-Versionen auflisten: Öffnen Sie das Terminal und führen Sie aus:
bashdotnet --list-sdks
1Dadurch werden sämtliche durch ServBay verwaltete und installierte .NET SDK-Versionen samt Installationspfad angezeigt.
Aktive SDK-Version prüfen (meist die zuletzt installierte oder global konfigurierte):
bashdotnet --version
1Neues Konsolenprojekt (mit Standard-SDK) erstellen:
bash# Neuen Projektordner MyConsoleApp anlegen mkdir MyConsoleApp cd MyConsoleApp # Neues Konsolenprojekt mit Standard-SDK anlegen dotnet new console
1
2
3
4
5
6Anwendung ausführen:
bashdotnet run
1Eine spezifische SDK-Version nutzen (falls benötigt): Wenn Ihr Projekt eine bestimmte SDK-Version benötigt, können Sie dies über die Datei
global.json
festlegen. Erstellen Sie im Projektstamm eine Datei mit folgendem Inhalt:json{ "sdk": { "version": "8.0.408" // Hier die gewünschte, bereits installierte SDK-Version angeben } }
1
2
3
4
5Wechselt man dann in dieses Projektverzeichnis und nutzt das
dotnet
-Kommando, wird die inglobal.json
angegebene SDK-Version bevorzugt verwendet.
Mono-Unterstützung
Zusätzlich zum .NET SDK bietet ServBay auch die Installation von Mono an, einer quelloffenen und plattformübergreifenden Implementierung des .NET Frameworks. Wenn Sie Anwendungen nutzen möchten, die auf spezielle .NET Framework-Funktionen angewiesen sind, können Sie Mono mit ServBay installieren und nutzen. Die Installation und Deinstallation von Mono erfolgt genauso wie beim .NET SDK.
Mono eignet sich vor allem zum Ausführen von für das .NET Framework kompilierten Programmen (.exe
) oder für Tools, die ein Mono-Umfeld erfordern. Dazu zählt zum Beispiel auch das Ausführen von älteren ASP.NET-Anwendungen.
Mono-Version prüfen:
bashmono --version
1.NET Framework-Programm ausführen: Angenommen, Sie besitzen das für .NET Framework kompilierte
LegacyApp.exe
:bashmono LegacyApp.exe
1Alte ASP.NET-Anwendungen ausführen (eingeschränkte Unterstützung): Mono enthält einen einfachen Webserver namens
xsp
, mit dem Sie im Entwicklungsumfeld klassische ASP.NET Web Forms oder System.Web MVC-Anwendungen starten können. Auch eine Integration mitNginx
+FastCGI
oderApache
+mod_mono
ist möglich.Wichtige Hinweise:
- Die Kompatibilität zu ASP.NET Framework ist begrenzt: Nicht alle Anwendungen laufen einwandfrei, insbesondere wenn sie Windows-spezifische Funktionen voraussetzen.
- In Sachen Performance reicht Mono nicht an die Ausführung unter Windows/IIS heran.
- Für Neuprojekte wird diese Methode nicht empfohlen! Zeitgemäße Webentwicklung sollte mit ASP.NET Core erfolgen.
- ServBay stellt eine detaillierte Anleitung zur Verfügung: So führen Sie eine ASP.NET Framework 4.x-Website unter macOS aus.
Falls erforderlich, lauten typische Kommandos (je nach Anwendung/Konfiguration):
bash# Beispiel: xsp-Server im Bestandsverzeichnis starten # cd /Applications/ServBay/www/your_legacy_aspnet_app # xsp4 --port 8080 # (xsp4 entspricht .NET 4.x)
1
2
3
Integration mit Webservern (ASP.NET Core)
Mit dem von ServBay installierten .NET SDK können Sie ASP.NET Core-Webanwendungen entwickeln. Für das Deployment lässt sich einer der integrierten Webserver wie Nginx, Caddy oder Apache in ServBay nutzen:
- Veröffentlichen Sie ihre ASP.NET Core-App per
dotnet publish
. - Fügen Sie in ServBay eine neue Website hinzu.
- Konfigurieren Sie die Website als Reverse Proxy: Leiten Sie Anfragen an den von Ihrer ASP.NET Core-Anwendung genutzten Kestrel-Port weiter (z. B.
http://localhost:5000
). Die genaue Proxy-Konfiguration hängt vom ausgewählten Webserver ab (Nginx, Caddy oder Apache).
Weitere Details dazu finden Sie in der ServBay-Dokumentation für Websites und Reverse-Proxy-Einstellungen.
Fazit
ServBay vereinfacht das Einrichten und Verwalten der .NET-Umgebung unter macOS erheblich. Über die übersichtliche Oberfläche können Entwickler bequem mehrere .NET SDK-Versionen und Mono installieren, wechseln und wieder entfernen – so bleibt mehr Zeit, sich auf das Entwickeln und Testen von C#, F# und ASP.NET Core-Anwendungen zu konzentrieren.