Utilizzo di .NET
ServBay offre agli sviluppatori .NET un ambiente di sviluppo efficiente e semplice da usare su macOS. Grazie al sistema di gestione dei pacchetti di ServBay, puoi facilmente installare, amministrare ed eseguire più versioni del .NET SDK, inclusi sia il moderno .NET (cioè .NET Core e versioni successive) sia il classico framework Mono, per soddisfare le esigenze dei diversi progetti.
Panoramica
Storia della piattaforma .NET e supporto su macOS
.NET è una piattaforma di sviluppo versatile creata da Microsoft. Capire la sua evoluzione e le sue versioni è essenziale per comprendere il supporto su macOS:
.NET Framework (versione originale): Rilasciato inizialmente nel 2002, il .NET Framework era la piattaforma di punta di Microsoft, ma era progettata principalmente per Windows. Includeva il Common Language Runtime (CLR) e una vasta libreria di classi (FCL). L'esecuzione diretta di app .NET Framework su macOS generalmente non era possibile.
Mono (precursore cross-platform): Per portare le applicazioni .NET su piattaforme non Windows come Linux e macOS, la community (iniziata da Ximian, poi supportata da Novell e Xamarin/Microsoft) ha sviluppato Mono. Si tratta di una implementazione open source e multipiattaforma di .NET Framework. Consente agli sviluppatori di eseguire e creare app originariamente scritte per .NET Framework (specialmente in C#) su macOS e Linux. Mono continua a essere utile quando è necessario eseguire vecchie applicazioni o librerie .NET Framework su macOS.
.NET Core / .NET 5+ (standard cross-platform moderno): Riconoscendo l’importanza della multipiattaforma, Microsoft ha progettato da zero .NET Core: una piattaforma moderna, ad alte prestazioni, open source e pienamente multipiattaforma, supportata su Windows, macOS e Linux. Dopo .NET Core 3.1, Microsoft ha rinominato il prodotto in .NET (partendo dalla versione 5, saltando la versione 4 per evitare confusione con .NET Framework 4.x). Oggi, quando si parla di .NET SDK, in genere ci si riferisce proprio a questa versione moderna e multipiattaforma (.NET 5, 6, 7, 8, 9, 10, ecc.). Questa è la piattaforma raccomandata da Microsoft per lo sviluppo di tutte le nuove applicazioni, anche su macOS.
Il supporto di ServBay per .NET
ServBay riconosce l'evoluzione di .NET e le diverse esigenze degli sviluppatori, perciò offre:
- Pacchetti .NET SDK moderni: Supporta svariate versioni di .NET (Core), come .NET SDK dalla 2.0 alla 10.0, consentendoti di sviluppare applicazioni multipiattaforma con gli ultimi C#, F# e ASP.NET Core.
- Pacchetti Mono: Include runtime Mono (ad esempio Mono 6) per sostenere progetti legacy o librerie particolari basate su .NET Framework che devono essere eseguite o sviluppate su macOS, incluso il supporto limitato per ASP.NET legacy (Web Forms, System.Web MVC).
- Installazioni parallele: Puoi installare più versioni di .NET SDK e Mono contemporaneamente.
- Controllo versione a livello di progetto: Specifica la versione moderna di .NET SDK necessaria per ogni progetto tramite il file
.servbay.config
. - Gestione semplificata: Vedi, installa e disinstalla facilmente le versioni SDK e Mono tramite l’interfaccia grafica intuitiva di ServBay.
Accesso ai pacchetti .NET
- Apri l'applicazione ServBay.
- Nella barra di navigazione a sinistra, clicca su
Pacchetti (Packages)
. - Nella pagina
Pacchetti
, scorri verso il basso oppure seleziona dalla lista lateraleLanguages
->.NET
. - Nella sezione a destra verrà visualizzato l’elenco di tutti i .NET SDK e i pacchetti Mono disponibili.
Installazione di .NET SDK
La lista dei pacchetti mostra chiaramente lo stato di ciascuna versione .NET SDK:
- Nome del pacchetto: Il nome, ad esempio
.NET SDK 8.0
oMono 6
. - Versione: La versione specifica del pacchetto.
- Stato: Visualizza
Installed
(installato) oNot Installed
(non installato). - Controlli: Pulsanti per le azioni disponibili.
Per installare una versione non ancora installata di .NET SDK (ad esempio .NET SDK 10.0
):
- Individua la versione desiderata nell’elenco.
- Assicurati che lo stato sia
Not Installed
. - Clicca sull’icona Download/Installazione (di solito una freccia verso il basso) sulla destra.
- ServBay inizierà il download e l'installazione della versione selezionata. Il tempo richiesto dipende dalla velocità della tua connessione e dalle dimensioni del SDK.
- Al termine, lo stato cambierà in
Installed
e l’icona di controllo si trasformerà in Disinstalla (cestino).
Gestione degli SDK installati
- Visualizza le versioni installate: Lo stato
Installed
nell’elenco mostra chiaramente tutte le versioni di .NET SDK e Mono attualmente presenti nel tuo ambiente. - Disinstalla SDK: Se non hai più bisogno di una versione, clicca sulla rispettiva icona Disinstalla (cestino) e conferma l’operazione per rimuoverla dal sistema.
Utilizzo dello .NET SDK installato
Dopo l’installazione, ServBay aggiunge l’eseguibile dotnet
nella variabile di ambiente PATH del sistema (quando l’ambiente ServBay è attivo). Potrai quindi usare il comando dotnet
direttamente dal Terminale di macOS.
Esempi di comandi comuni:
Elenca le versioni SDK disponibili: Apri il Terminale ed esegui:
bashdotnet --list-sdks
1Questo mostrerà tutte le versioni .NET SDK installate e gestite da ServBay, con i rispettivi percorsi.
Verifica la versione SDK attiva (solitamente l’ultima installata o impostata globalmente):
bashdotnet --version
1Crea una nuova applicazione console (usando l’SDK di default):
bash# Crea la directory del progetto chiamata MyConsoleApp mkdir MyConsoleApp cd MyConsoleApp # Crea un nuovo progetto console con l’SDK di default dotnet new console
1
2
3
4
5
6Esegui l'applicazione:
bashdotnet run
1Specifica una versione SDK particolare (se necessario): Se il tuo progetto richiede una versione specifica, puoi usare il file
global.json
. Nella root del progetto, creaglobal.json
con questo contenuto:json{ "sdk": { "version": "8.0.408" // Specifica la versione SDK installata richiesta per il progetto } }
1
2
3
4
5Eseguendo i comandi
dotnet
nella directory del progetto, verrà privilegiata la versione specificata inglobal.json
.
Supporto Mono
Oltre al classico .NET SDK, ServBay consente di installare Mono, ovvero l’implementazione open source e multipiattaforma di .NET Framework. Installalo se devi eseguire o sviluppare applicazioni che dipendono da funzionalità specifiche di .NET Framework. Il processo di installazione/disinstallazione di Mono è identico a quello dello .NET SDK.
Mono viene usato principalmente per eseguire programmi compilati per .NET Framework (.exe
) o strumenti che richiedono un ambiente Mono, incluso l’avvio di app ASP.NET legacy.
Controlla la versione di Mono:
bashmono --version
1Esegui un file eseguibile .NET Framework: Se hai, ad esempio,
LegacyApp.exe
compilato per .NET Framework:bashmono LegacyApp.exe
1Esecuzione di vecchie app ASP.NET (supporto limitato): Mono fornisce un semplice server web chiamato
xsp
per eseguire in ambiente di sviluppo app ASP.NET Web Forms o System.Web MVC legacy. È possibile anche integrarsi tramiteNginx
+FastCGI
oApache
+mod_mono
.Note importanti:
- Questo metodo ha compatibilità limitata con ASP.NET Framework: non tutte le app funzionano perfettamente, specie quelle che dipendono da funzionalità specifiche di Windows.
- Le prestazioni in genere sono inferiori a quelle su Windows/IIS.
- Non è raccomandato per nuovi sviluppi. Per il web moderno, usa ASP.NET Core.
- ServBay fornisce una guida dettagliata: Come eseguire siti ASP.NET Framework 4.x su macOS.
Se occasionalmente è necessario avviare (ad esempio per test o manutenzione), si potranno usare comandi simili (a seconda della configurazione dell’app):
bash# Esempio: avviare il server xsp in una directory specifica # cd /Applications/ServBay/www/your_legacy_aspnet_app # xsp4 --port 8080 # (xsp4 corrisponde a .NET 4.x)
1
2
3
Integrazione con il server web (ASP.NET Core)
Utilizzando i .NET SDK installati tramite ServBay, puoi sviluppare applicazioni web ASP.NET Core. Una volta pronte per il deployment, approfitta dei server web integrati di ServBay (come Nginx, Caddy o Apache):
- Effettua il publish della tua applicazione ASP.NET Core con il comando
dotnet publish
. - Aggiungi un nuovo sito web (Website) nell’interfaccia di ServBay.
- Configura il sito come reverse proxy, inoltrando le richieste verso la porta su cui l’app Kestrel di ASP.NET Core è in ascolto (ad esempio
http://localhost:5000
). La configurazione del reverse proxy varia a seconda che tu scelga Nginx, Caddy o Apache.
Consulta la documentazione ServBay correlata su come aggiungere un sito e configurare il reverse proxy.
Conclusioni
ServBay semplifica enormemente la configurazione e la gestione dell’ambiente di sviluppo .NET su macOS. Tramite la sua interfaccia intuitiva, puoi installare, cambiare e rimuovere agevolmente più versioni di .NET SDK e Mono, concentrandoti così sullo sviluppo e test di app C#, F# e ASP.NET Core.