Uso de .NET
ServBay proporciona a los desarrolladores de .NET un entorno de desarrollo cómodo y eficiente en macOS. Gracias al sistema de gestión de paquetes de ServBay, puedes instalar, administrar y ejecutar fácilmente múltiples versiones del SDK de .NET, incluyendo el moderno .NET (es decir, .NET Core y posteriores) y el framework clásico Mono, para cubrir las distintas necesidades de tus proyectos.
Visión general
Historia de la plataforma .NET y soporte en macOS
.NET es una plataforma de desarrollo multifuncional creada por Microsoft. Su evolución histórica y de versiones es clave para entender el soporte actual en macOS:
.NET Framework (versión original): Lanzado en 2002, .NET Framework fue la principal plataforma de desarrollo de Microsoft, pero estaba diseñada principalmente para sistemas Windows. Incluía el entorno de ejecución Common Language Runtime (CLR) y una gran biblioteca de clases (FCL). Ejecutar aplicaciones .NET Framework directamente en macOS generalmente no es posible.
Mono (pionero multiplataforma): Para llevar aplicaciones .NET a sistemas no Windows como Linux y macOS, la comunidad (inicialmente dirigida por Ximian, luego apoyada por Novell y Xamarin/Microsoft) desarrolló Mono. Mono es una implementación de código abierto y multiplataforma de .NET Framework. Esto permitió a los desarrolladores ejecutar y crear apps originalmente escritas para .NET Framework (especialmente en C#) en macOS y Linux. Mono sigue siendo útil para ejecutar aplicaciones o bibliotecas heredadas de .NET Framework en macOS.
.NET Core / .NET 5+ (estándar moderno multiplataforma): Microsoft, reconociendo la importancia de la portabilidad, diseñó .NET Core desde cero. Es una implementación moderna, de alto rendimiento, de código abierto y completamente multiplataforma compatible con Windows, macOS y Linux. A partir de .NET Core 3.1, se le renombró simplemente a .NET (desde la versión 5, saltando la 4 para evitar confusiones con .NET Framework 4.x). Actualmente, cuando hablamos del SDK de .NET, normalmente nos referimos a esta versión moderna y multiplataforma (.NET 5, 6, 7, 8, 9, 10, etc.). Microsoft recomienda esta plataforma para todo nuevo desarrollo de aplicaciones, incluyendo las de macOS.
Soporte de .NET en ServBay
ServBay comprende la historia y las necesidades diversas de los desarrolladores .NET y por eso ofrece:
- Paquetes modernos de SDK de .NET: Incluyendo diferentes versiones de .NET (Core), como los SDK de .NET desde la versión 2.0 hasta la 10.0, que te permiten desarrollar en C#, F# y ASP.NET Core de manera multiplataforma y con los últimos avances.
- Paquetes de Mono: Incluye el runtime de Mono (por ejemplo, Mono 6) para soportar proyectos antiguos o librerías específicas basadas en .NET Framework que deban ejecutarse o desarrollarse en macOS, con soporte limitado para ASP.NET antiguo (Web Forms, System.Web MVC).
- Instalaciones en paralelo: Puedes instalar varias versiones del SDK de .NET y de Mono de forma simultánea.
- Control de versiones por proyecto: A través del archivo
.servbay.config
puedes definir, para cada proyecto, qué versión moderna del SDK de .NET debe emplearse. - Gestión simplificada: Visualiza, instala y desinstala fácilmente diferentes versiones de SDK y Mono mediante la interfaz gráfica de ServBay.
Acceder a los paquetes .NET
- Abre la aplicación ServBay.
- En la barra lateral de la izquierda, haz clic en
Paquetes (Packages)
. - En la página de
Paquetes
, desplázate hacia abajo o selecciona en la lista lateral la categoríaLanguages
->.NET
. - A la derecha, verás el listado de todos los paquetes disponibles de SDK de .NET y Mono.
Instalación del SDK de .NET
La lista de paquetes muestra claramente el estado de cada versión de SDK de .NET:
- Nombre del paquete: Ejemplo:
.NET SDK 8.0
oMono 6
. - Versión: Número de versión del paquete.
- Estado: Indica si el paquete está
Installed
(instalado) oNot Installed
(no instalado). - Control: Botones para realizar acciones sobre el paquete.
Para instalar una versión de SDK de .NET que aún no esté instalada (por ejemplo, .NET SDK 10.0
):
- Localiza la versión deseada en la lista.
- Confirma que su estado es
Not Installed
. - Haz clic en el icono de descarga/instalación (Download/Install) que aparece a la derecha (usualmente una flecha apuntando hacia abajo).
- ServBay iniciará la descarga e instalación de la versión seleccionada. El proceso puede tardar varios minutos dependiendo de tu conexión y del tamaño del SDK.
- Una vez instalado, el estado cambiará a
Installed
y el icono de control se convertirá en el de desinstalar (Uninstall) (basura).
Gestión de SDKs instalados
- Ver las versiones instaladas: El estado
Installed
en la lista muestra de forma clara todos los SDK de .NET y versiones de Mono que tienes actualmente en tu entorno. - Desinstalar un SDK: Si ya no necesitas cierta versión instalada, haz clic en su icono de desinstalar (Uninstall) (basura) y confirma la acción para eliminarla del sistema.
Cómo usar el SDK de .NET instalado
Después de instalar un SDK de .NET, ServBay suele añadir la herramienta de línea de comandos correspondiente (dotnet
) al PATH del sistema (cuando el entorno ServBay está activo). Así, podrás ejecutar el comando dotnet
directamente desde la Terminal de macOS.
Ejemplos de comandos habituales:
Ver las versiones de SDK disponibles: Abre la Terminal y ejecuta:
bashdotnet --list-sdks
1Esto mostrará todos los SDK de .NET instalados y gestionados por ServBay junto con sus rutas.
Comprobar la versión de SDK activa (por lo general la última instalada o la configurada globalmente):
bashdotnet --version
1Crear una nueva aplicación de consola (usando el SDK por defecto):
bash# Crear un directorio de proyecto llamado MyConsoleApp mkdir MyConsoleApp cd MyConsoleApp # Crear un nuevo proyecto de consola con el SDK por defecto dotnet new console
1
2
3
4
5
6Ejecutar la aplicación:
bashdotnet run
1Usar una versión específica del SDK (si es necesario): Si tu proyecto necesita una versión determinada del SDK, puedes especificarlo mediante el archivo
global.json
. En el directorio raíz del proyecto, crea un archivoglobal.json
similar al siguiente:json{ "sdk": { "version": "8.0.408" // Especifica la versión instalada y requerida por tu proyecto } }
1
2
3
4
5Al ejecutar un comando
dotnet
dentro de ese directorio, se priorizará la versión definida englobal.json
.
Soporte para Mono
Además del SDK de .NET estándar, ServBay también permite instalar Mono. Mono es una implementación multiplataforma y de código abierto de .NET Framework. Si necesitas ejecutar o desarrollar aplicaciones que dependan de funcionalidades específicas de .NET Framework, puedes instalar y usar Mono directamente desde ServBay. El proceso de instalación y desinstalación de Mono es idéntico al del SDK de .NET.
Mono es especialmente útil para ejecutar programas compilados para .NET Framework (.exe
) o herramientas que requieran el entorno Mono, incluyendo la ejecución de aplicaciones ASP.NET antiguas.
Verificar la versión de Mono:
bashmono --version
1Ejecutar archivos .exe de .NET Framework: Supón que tienes un
LegacyApp.exe
compilado para .NET Framework:bashmono LegacyApp.exe
1Ejecutar aplicaciones ASP.NET antiguas (soporte limitado): Mono incluye un pequeño servidor web llamado
xsp
para ejecutar, en escenarios de desarrollo, aplicaciones antiguas de Web Forms o System.Web MVC. También es posible integrarlo conNginx
+FastCGI
oApache
+mod_mono
.Notas importantes:
- Este enfoque ofrece compatibilidad limitada con proyectos ASP.NET Framework; no todos los proyectos funcionarán correctamente, especialmente aquellos que dependan de características específicas de Windows.
- El rendimiento suele ser inferior al de Windows/IIS.
- No recomendado para nuevos desarrollos web. Para nuevos proyectos, se aconseja usar ASP.NET Core.
- ServBay ofrece documentación detallada: Cómo ejecutar sitios web ASP.NET Framework 4.x en macOS.
Si realmente necesitas ejecutarlo (por ejemplo, para pruebas o mantenimiento), probablemente usarás comandos similares a los siguientes (la sintaxis puede variar según la app y configuración):
bash# Ejemplo: arrancar el servidor xsp en un directorio específico # cd /Applications/ServBay/www/your_legacy_aspnet_app # xsp4 --port 8080 # (xsp4 es para .NET 4.x)
1
2
3
Integración con servidores web (ASP.NET Core)
Con el SDK de .NET instalado a través de ServBay puedes desarrollar aplicaciones web ASP.NET Core. A la hora de desplegarlas, puedes utilizar los servidores integrados de ServBay (como Nginx, Caddy o Apache):
- Usa el comando
dotnet publish
para compilar tu aplicación ASP.NET Core. - En ServBay, añade un Sitio Web (Website) nuevo.
- Configura el sitio para que actúe como proxy inverso y reenvíe las solicitudes al puerto donde tu app de ASP.NET Core (Kestrel) esté escuchando (ejemplo:
http://localhost:5000
). La configuración dependerá del servidor web que utilices (Nginx, Caddy o Apache).
Consulta la documentación de ServBay acerca de cómo añadir sitios y configurar el proxy inverso.
Resumen
ServBay simplifica enormemente la creación y administración del entorno de desarrollo .NET en macOS. Gracias a su interfaz intuitiva, los desarrolladores pueden instalar, cambiar y eliminar fácilmente varias versiones del SDK de .NET y de Mono, centrándose en lo más importante: el desarrollo y pruebas de aplicaciones en C#, F# y ASP.NET Core.