Utilisation de .NET
ServBay offre aux développeurs .NET un environnement de développement pratique et performant sur macOS. Grâce au système de gestion de paquets de ServBay, vous pouvez facilement installer, gérer et exécuter plusieurs versions du SDK .NET, y compris les versions modernes de .NET (autrement dit .NET Core et ultérieures) ainsi que le framework Mono classique, afin de répondre aux besoins des différents projets.
Aperçu
Historique de la plateforme .NET et support sur macOS
.NET est une plateforme de développement polyvalente développée par Microsoft. Comprendre son évolution est essentiel pour cerner ses possibilités sur macOS :
.NET Framework (version originelle) : Lancé en 2002, le .NET Framework était la plateforme phare de Microsoft, conçue principalement pour Windows. Il intègre le Common Language Runtime (CLR) et une vaste bibliothèque de classes (FCL). L’exécution directe d’applications .NET Framework sur macOS n’est généralement pas possible.
Mono (le pionnier du multiplateforme) : Pour ouvrir le .NET à Linux et macOS, la communauté (d’abord Ximian, puis Novell, Xamarin/Microsoft) a développé Mono, une implémentation open source et multiplateforme du .NET Framework. Mono permet aux développeurs d’exécuter et de créer sur macOS et Linux des applications initialement prévues pour .NET Framework (notamment en C#). Mono reste utile aujourd’hui pour exécuter d’anciens projets ou certaines bibliothèques .NET Framework sur macOS.
.NET Core / .NET 5+ (la norme moderne, multiplateforme) : Conscient de l'importance du multiplateforme, Microsoft a conçu .NET Core pour offrir une version moderne, performante, open source et véritablement multiplateforme de .NET compatible Windows, macOS et Linux. À partir de .NET Core 3.1, Microsoft rebaptise cette famille « .NET » (dès la version 5, en omettant le 4 pour éviter la confusion avec .NET Framework 4.x). Aujourd’hui, « SDK .NET » désigne généralement cette version moderne (5, 6, 7, 8, 9, 10, etc.) recommandée pour le développement de tous les nouveaux projets, y compris sur macOS.
Prise en charge de .NET par ServBay
Consciente de l’histoire diversifiée de .NET et des besoins variés des développeurs, ServBay propose :
- Paquets modernes SDK .NET : Inclut les versions de .NET (Core) allant du SDK 2.0 à 10.0, permettant le développement multiplateforme récent en C#, F#, ASP.NET Core.
- Paquets Mono : Inclut l’environnement d’exécution Mono (ex : Mono 6) pour prendre en charge d’anciens projets ou bibliothèques .NET Framework sur macOS, avec un support limité des anciennes versions d’ASP.NET (Web Forms, System.Web MVC).
- Installations parallèles : Vous pouvez installer simultanément plusieurs versions du SDK .NET et de Mono.
- Gestion des versions au niveau du projet : Spécifiez le SDK .NET moderne requis pour chaque projet à l’aide d’un fichier
.servbay.config
. - Gestion simplifiée : Visualisez, installez et désinstallez facilement tous les SDK .NET et Mono via l’interface graphique ServBay.
Accéder aux paquets .NET
- Lancez l’application ServBay.
- Dans la barre de navigation à gauche, cliquez sur
Paquets (Packages)
. - Sur la page
Paquets
, faites défiler vers le bas ou sélectionnezLanguages
->.NET
dans la liste. - La partie droite affiche la liste de tous les SDK .NET et paquets Mono disponibles.
Installation d’un SDK .NET
La liste des paquets indique clairement l’état de chaque version du SDK .NET :
- Nom du paquet : Par exemple,
.NET SDK 8.0
ouMono 6
. - Version : Numéro de version précis du paquet.
- Statut : Affiche
Installed
(installé) ouNot Installed
(non installé). - Contrôle : Fournit les boutons d’action.
Pour installer un SDK .NET non encore présent (exemple : .NET SDK 10.0
) :
- Identifiez la version souhaitée dans la liste.
- Vérifiez que son statut est
Not Installed
. - Cliquez sur l’icône Télécharger/Installer (Download/Install) tout à droite de la ligne (en général une flèche vers le bas).
- ServBay télécharge alors et installe la version du SDK sélectionnée. La durée dépend de votre connexion internet et de la taille du SDK.
- Une fois installé, le statut passe à
Installed
et l’icône contrôle devient une icône Désinstaller (Uninstall) (poubelle).
Gérer les SDK installés
- Voir les versions installées : L’état
Installed
dans la liste indique clairement toutes les versions SDK .NET et Mono présentes dans votre environnement. - Désinstaller un SDK : Pour retirer une version installée, cliquez simplement sur son icône Désinstaller (Uninstall) (poubelle) et confirmez l’action.
Utiliser les SDK .NET installés
Lorsque vous installez un SDK .NET via ServBay, l’outil en ligne de commande associé dotnet
est automatiquement ajouté à la variable d’environnement PATH (lorsque l’environnement ServBay est activé). Vous pouvez ainsi utiliser la commande dotnet
directement dans le Terminal sur macOS.
Exemples de commandes courantes :
Lister les versions SDK disponibles : Ouvrez le terminal, tapez :
bashdotnet --list-sdks
1Cela affiche toutes les versions SDK .NET installées et gérées par ServBay, avec leurs emplacements.
Vérifier la version SDK active (généralement la dernière installée ou celle définie globalement) :
bashdotnet --version
1Créer une nouvelle application console (avec le SDK par défaut) :
bash# Créez un répertoire de projet appelé MyConsoleApp mkdir MyConsoleApp cd MyConsoleApp # Créez un nouveau projet console avec le SDK par défaut dotnet new console
1
2
3
4
5
6Exécuter l’application :
bashdotnet run
1Utiliser une version spécifique du SDK (au besoin) : Si votre projet requiert une version précise du SDK, spécifiez-la via un fichier
global.json
à la racine du projet, par exemple :json{ "sdk": { "version": "8.0.408" // Spécifiez la version installée nécessaire pour votre projet } }
1
2
3
4
5Lorsque vous exécutez une commande
dotnet
dans ce répertoire, la version du SDK spécifiée dansglobal.json
est utilisée en priorité.
Support de Mono
En plus du SDK .NET standard, ServBay vous permet d’installer Mono. Mono est une implémentation open source et multiplateforme du .NET Framework. Si vous devez exécuter ou développer des applications reposant sur des fonctions spécifiques du .NET Framework, vous pouvez installer et utiliser Mono via ServBay. L’installation et la désinstallation de Mono s’effectuent exactement de la même manière que pour le SDK .NET.
Mono est principalement destiné à l’exécution de programmes compilés pour .NET Framework (fichiers .exe
) ou d’outils requérant un environnement Mono, y compris pour lancer d'anciennes applications ASP.NET.
Vérifier la version de Mono :
bashmono --version
1Exécuter un exécutable .NET Framework : Si vous disposez d’un fichier
LegacyApp.exe
compilé pour .NET Framework :bashmono LegacyApp.exe
1Lancer une ancienne application ASP.NET (support limité) : Mono inclut un serveur web léger nommé
xsp
qui permet d’exécuter en environnement de développement d’anciennes applications ASP.NET Web Forms ou System.Web MVC. Vous pouvez aussi utiliserNginx
+FastCGI
ouApache
+mod_mono
.À noter :
- Cette méthode fournit un support limité de la compatibilité ASP.NET Framework ; toutes les applications ne fonctionneront pas parfaitement, surtout celles dépendant de fonctionnalités propres à Windows.
- Les performances sont généralement inférieures à une exécution sous Windows/IIS.
- Non recommandé pour le développement de nouveaux projets. Pour le web moderne, utilisez ASP.NET Core.
- Consultez la documentation complète ServBay : Comment exécuter un site ASP.NET Framework 4.x sous macOS.
Si vous devez tout de même effectuer des tests ou de la maintenance, la commande type (à adapter selon votre configuration) pourrait être :
bash# Exemple : démarrer le serveur xsp dans le répertoire de votre projet # cd /Applications/ServBay/www/votre_application_aspnet_legacy # xsp4 --port 8080 # (xsp4 pour .NET 4.x)
1
2
3
Intégration au serveur web (ASP.NET Core)
En utilisant un SDK .NET installé via ServBay, vous pouvez développer des applications web ASP.NET Core. Lors du déploiement, profitez des serveurs web intégrés (Nginx, Caddy ou Apache) de ServBay :
- Publiez votre application ASP.NET Core à l’aide de la commande
dotnet publish
. - Ajoutez un site web dans ServBay.
- Configurez ce site pour agir en tant que proxy inversé, redirigeant les requêtes vers le port Kestrel de votre application ASP.NET Core (par exemple
http://localhost:5000
). La méthode exacte de configuration du proxy inverse dépend du serveur choisi (Nginx, Caddy ou Apache).
Reportez-vous à la documentation de ServBay pour l’ajout de sites et la configuration du proxy inverse.
Conclusion
ServBay simplifie grandement la configuration et la gestion d’un environnement de développement .NET sous macOS. Via son interface intuitive, les développeurs peuvent aisément installer, alterner et supprimer plusieurs versions du SDK .NET et Mono, afin de se concentrer sur le développement, les tests et la maintenance d’applications C#, F# et ASP.NET Core.