.NET Gebruiken
ServBay biedt .NET-ontwikkelaars op macOS een gemakkelijk en efficiënt ontwikkelplatform. Via het pakketbeheersysteem van ServBay kun je eenvoudig meerdere versies van de .NET SDK installeren, beheren en gebruiken, inclusief het moderne .NET (oftewel .NET Core en latere versies) en het klassieke Mono-framework, afgestemd op de behoeften van verschillende projecten.
Overzicht
Geschiedenis van het .NET-platform en ondersteuning op macOS
.NET is een veelzijdig ontwikkelplatform ontwikkeld door Microsoft. De evolutie en geschiedenis van .NET spelen een belangrijke rol in het begrijpen van de ondersteuning op macOS:
.NET Framework (originele versie): De .NET Framework, gelanceerd in 2002, was het vlaggenschip van Microsoft maar is vooral ontworpen voor Windows. Het beschikt over de Common Language Runtime (CLR) en een uitgebreide class library (FCL). Applicaties die direct zijn gebouwd voor .NET Framework kunnen doorgaans niet op macOS draaien.
Mono (cross-platform-pionier): Om .NET-toepassingen naar niet-Windows-systemen zoals Linux en macOS te brengen, werd Mono ontwikkeld door de community (oorspronkelijk door Ximian, later ondersteund door Novell en Xamarin/Microsoft). Mono is een open source, cross-platform implementatie van .NET Framework. Het stelt ontwikkelaars in staat om op macOS en Linux .NET Framework-apps te ontwikkelen en draaien (voornamelijk C#-apps). Mono is nog steeds van waarde wanneer je oudere .NET Framework-projecten of libraries op macOS moet draaien.
.NET Core / .NET 5+ (moderne cross-platform-standaard): Met erkenning van het belang van cross-platform, startte Microsoft met .NET Core: een modern, performant, open source en volledig cross-platform framework voor Windows, macOS en Linux. Na versie 3.1 hernoemde Microsoft het naar .NET (vanaf versie 5, met het overslaan van 4 om verwarring met .NET Framework 4.x te vermijden). Tegenwoordig verwijzen we met .NET SDK meestal naar deze moderne, cross-platform variant (.NET 5, 6, 7, 8, 9, 10, etc.). Dit is het aangeraden platform voor alle nieuwe ontwikkelingen, ook op macOS.
Ondersteuning van .NET door ServBay
ServBay begrijpt de geschiedenis en de uiteenlopende behoeften van .NET-ontwikkelaars en biedt daarom:
- Moderne .NET SDK-pakketten: Bevatten verschillende versies van .NET (Core), bijvoorbeeld .NET SDK 2.0 tot 10.0, voor de nieuwste cross-platform-ontwikkeling in C#, F# en ASP.NET Core.
- Mono-pakketten: Bieden de Mono-runtime (zoals Mono 6) ter ondersteuning van oudere .NET Framework-projecten of specifieke libraries op macOS, inclusief beperkte ondersteuning voor legacy ASP.NET (Web Forms, System.Web MVC).
- Parallelle installatie: Installeer meerdere .NET SDK's en Mono-versies naast elkaar.
- Projectspecifieke versiebeheer: Wijs met het
.servbay.config
-bestand per project de benodigde moderne .NET SDK aan. - Eenvoudig beheer: Installeer, verwijder en bekijk eenvoudig alle SDK- en Mono-versies via de grafische interface van ServBay.
Toegang tot .NET-pakketten
- Open de ServBay-app.
- Klik in de linkernavigatie op
Pakketten (Packages)
. - In de pagina
Pakketten
scroll je naar beneden of kies je links in de lijst voorLanguages
->.NET
. - In het rechterpaneel verschijnt nu het overzicht van alle beschikbare .NET SDK- en Mono-pakketten.
.NET SDK installeren
De pakketlijst toont duidelijk de status van elke .NET SDK-versie:
- Pakketnaam: Bijvoorbeeld
.NET SDK 8.0
ofMono 6
. - Versie: Het exacte versienummer van het pakket.
- Status: Toont
Geïnstalleerd
(Installed) ofNiet geïnstalleerd
(Not Installed). - Bediening: Actieknoppen voor beheer.
Wil je een nog niet geïnstalleerde .NET SDK toevoegen (bijvoorbeeld .NET SDK 10.0
):
- Zoek het gewenste versienummer in de lijst.
- Controleer of de status
Niet geïnstalleerd
is. - Klik uiterst rechts op het Downloaden/Installeren (Download/Install)-icoon (gewoonlijk een pijltje naar beneden).
- ServBay begint met downloaden en installeren van de gekozen SDK. Dit kan enkele minuten duren, afhankelijk van je internetverbinding en de omvang van de SDK.
- Na succesvolle installatie wordt de status van dat pakket
Geïnstalleerd
en verandert het bedieningspictogram in Verwijderen (Uninstall) (prullenbakje).
Beheer van geïnstalleerde SDK's
- Geïnstalleerde versies bekijken: De status
Geïnstalleerd
in de lijst toont welke .NET SDK- en Mono-versies in je omgeving aanwezig zijn. - SDK verwijderen: Wil je een SDK-versie niet langer behouden? Klik dan op het corresponderende Verwijderen (Uninstall)-icoon (prullenbakje) en bevestig de actie om deze van je systeem te verwijderen.
Gebruik van geïnstalleerde .NET SDK's
Na installatie voegt ServBay het commando dotnet
automatisch toe aan het PATH, zodra je de ServBay-omgeving activeert. Hierdoor kun je direct vanuit de macOS Terminal het commando dotnet
gebruiken.
Handige commando's:
Bekijk beschikbare SDK-versies: Open de terminal en voer uit:
bashdotnet --list-sdks
1Dit toont alle .NET SDK-versies en hun pad die onder ServBay zijn geïnstalleerd.
Controleer de actieve SDK-versie (meestal de meest recent geïnstalleerde of globaal ingestelde):
bashdotnet --version
1Maak een nieuw consoleproject (met de standaard SDK):
bash# Map voor een nieuw project aanmaken mkdir MyConsoleApp cd MyConsoleApp # Nieuw consoleproject genereren met de standaard SDK dotnet new console
1
2
3
4
5
6Applicatie uitvoeren:
bashdotnet run
1Gebruik specifieke SDK-versie (indien nodig): Heeft je project een specifieke SDK-versie nodig? Gebruik dan een
global.json
in de projectroot, bijvoorbeeld:json{ "sdk": { "version": "8.0.408" // Specificeer de geïnstalleerde SDK-versie die je project vereist } }
1
2
3
4
5Vanaf nu zal het
dotnet
-commando in deze map standaard deze SDK gebruiken.
Mono-ondersteuning
Naast de standaard .NET SDK biedt ServBay ook een optie voor Mono-installatie. Mono is de open source, cross-platform implementatie van het .NET Framework. Als je applicaties moet draaien die afhankelijk zijn van specifieke .NET Framework-functies, kun je Mono via ServBay installeren en beheren. Het installeren en verwijderen werkt hetzelfde als bij de .NET SDK.
Mono wordt meestal gebruikt om programma's (.exe-bestanden) die voor het .NET Framework zijn gebouwd uit te voeren, of tools die de Mono-omgeving vereisen. Ook is het bruikbaar voor het draaien van legacy ASP.NET-applicaties.
Mono-versie controleren:
bashmono --version
1Een .NET Framework-executable uitvoeren: Stel je hebt een voor .NET Framework gebouwde
LegacyApp.exe
:bashmono LegacyApp.exe
1Legacy ASP.NET gebruiken (beperkte ondersteuning): Mono wordt geleverd met de eenvoudige
xsp
webserver – handig voor het lokaal draaien van legacy ASP.NET Web Forms of System.Web MVC-apps. Integratie met Nginx + FastCGI of Apache + mod_mono is ook mogelijk.Belangrijke opmerkingen:
- Deze methode biedt beperkte compatibiliteit met ASP.NET Framework; niet alle applicaties werken perfect, zeker niet als ze Windows-specifieke features gebruiken.
- De prestaties zijn doorgaans lager dan onder Windows/IIS.
- Niet aanbevolen voor nieuwe projecten. Gebruik voor moderne webontwikkeling altijd ASP.NET Core.
- Bekijk de uitgebreide ServBay-documentatie: Zo run je een ASP.NET Framework 4.x-website onder macOS.
Voor legacy doeleinden (zoals testen of onderhoud) kun je bijvoorbeeld zo starten (afhankelijk van app en configuratie):
bash# Bijvoorbeeld: xsp-server starten in specifieke map # cd /Applications/ServBay/www/your_legacy_aspnet_app # xsp4 --port 8080 # (xsp4 is voor .NET 4.x-apps)
1
2
3
Geïntegreerde webserver (ASP.NET Core)
Met de via ServBay geïnstalleerde .NET SDK kun je ASP.NET Core webapps ontwikkelen. Voor het uitrollen kun je gebruik maken van de ingebouwde webservers van ServBay (Nginx, Caddy of Apache):
- Publiceer je applicatie met het
dotnet publish
-commando. - Voeg binnen ServBay een nieuwe Website toe.
- Stel deze zodanig in dat inkomend verkeer als reverse proxy wordt doorgestuurd naar de poort waarop je ASP.NET Core-app (op Kestrel) luistert (bijv.
http://localhost:5000
). De exacte configuratie hangt af van je gekozen webserver (Nginx, Caddy, Apache).
Zie de ServBay-documentatie voor het toevoegen van websites en het instellen van reverse proxies.
Samenvatting
ServBay maakt het opzetten en beheren van een .NET-ontwikkelomgeving op macOS een stuk eenvoudiger. Dankzij de intuïtieve interface kun je moeiteloos meerdere .NET SDK-versies en Mono installeren, wisselen en verwijderen, zodat je je volledig kunt richten op de ontwikkeling en het testen van C#, F# en ASP.NET Core-toepassingen.