Instalación de .NET en macOS

En este artículo, obtendrá información sobre cómo instalar .NET en macOS. .NET está formado por el entorno de ejecución y el SDK. El entorno de ejecución se usa para ejecutar una aplicación de .NET, y puede o no incluirse con la aplicación. El SDK se usa para crear aplicaciones y bibliotecas de .NET. El entorno de ejecución de .NET siempre se instala con el SDK.

La versión más reciente de .NET es la 8.

Versiones compatibles

Hay dos tipos de versiones admitidas: versiones de soporte técnico a largo plazo (LTS) y versiones de soporte técnico estándar (STS). La calidad de todas las versiones es la misma. La única diferencia es la duración del soporte técnico. Las versiones LTS obtienen soporte técnico y revisiones gratuitas durante tres años. Las versiones STS obtienen soporte técnico y revisiones gratuitas durante 18 meses. Para más información, consulte Directiva de soporte de .NET.

En la tabla siguiente se muestra una lista de versiones de .NET actualmente compatibles y las versiones de macOS que se admiten:

Sistema operativo .NET 8 (LTS) .NET 7 (STS) .NET 6 (LTS)
macOS 14.0 "Sonoma" ✔️ 8.0 ✔️ 7.0 ✔️ 6.0
macOS 13.0 "Ventura" ✔️ 8.0 ✔️ 7.0 ✔️ 6.0
macOS 12.0 "Monterey" ✔️ 8.0 ✔️ 7.0 ✔️ 6.0
macOS 11.0 "Big Sur" ✔️ 7.0 ✔️ 6.0
macOS 10.15 "Catalina" ✔️ 7.0 ✔️ 6.0

Para obtener una lista completa de las versiones de .NET y su ciclo de vida de soporte técnico, consulte Directiva de soporte técnico de .NET.

Versiones no admitidas

Las versiones siguientes de .NET ya ❌ no se admiten:

  • .NET 5
  • .NET Core 3.1
  • .NET Core 3.0
  • .NET Core 2.2
  • .NET Core 2.1
  • .NET Core 2.0

Información en tiempo de ejecución

El entorno de ejecución se usa para ejecutar aplicaciones creadas con .NET. Cuando un autor publica una aplicación, puede incluir el tiempo de ejecución. Si no lo hace, el usuario elige si quiere instalar el tiempo de ejecución.

Hay dos entornos de ejecución distintos que se pueden instalar en macOS:

  • Entorno de ejecución de ASP.NET Core
    Ejecuta aplicaciones de ASP.NET Core. Incluye el entorno de ejecución de .NET.

  • Entorno de ejecución de .NET
    Este entorno de ejecución es el más sencillo y no incluye ningún otro. Se recomienda encarecidamente instalar el entorno de ejecución de ASP.NET Core para conseguir la mejor compatibilidad con las aplicaciones de .NET.

Información del SDK

El SDK se usa para compilar y publicar aplicaciones y bibliotecas de .NET. La instalación del SDK incluye ambos entornos de ejecución: ASP.NET Core y .NET.

Autenticación bajo notario

A partir de macOS Catalina (versión 10.15), se debe conceder la certificación a todo el software creado después del 1 de junio de 2019 que se distribuye con el identificador de desarrollador. Este requisito se aplica al entorno de ejecución de .NET, al SDK de .NET y al software creado con .NET.

Los instaladores del entorno de ejecución y de los SDK de .NET están autenticados bajo notario desde el 18 de febrero de 2020. A las versiones publicadas anteriores no se les ha concedido la certificación. Si ejecuta una aplicación sin certificación, verá un error similar al de la imagen siguiente:

Alerta de certificación de macOS Catalina

Para obtener más información sobre cómo afecta la certificación forzada a .NET (y a las aplicaciones de .NET), vea Trabajo con la certificación de macOS Catalina.

libgdiplus

Para las aplicaciones de .NET en las que se usa el ensamblado System.Drawing.Common es necesario instalar libgdiplus.

Una manera fácil de obtener libgdiplus es usar el administrador de paquetes Homebrew ("brew") para macOS. Después de instalar brew, instale libgdiplus mediante la ejecución de los comandos siguientes en un símbolo del sistema de Terminal (comando):

brew update
brew install mono-libgdiplus

Instalación automatizada

macOS tiene instaladores independientes que se pueden usar para instalar .NET:

Instalación manual

Como alternativa a los instaladores de macOS para .NET, puede descargar e instalar manualmente el SDK y el entorno de ejecución. La instalación manual se suele llevar a cabo durante las pruebas de integración continua. Para un desarrollador o usuario, generalmente es mejor usar un instalador.

Descargue una versión binaria del SDK o del runtime de uno de los siguientes sitios. El SDK de .NET incluye el runtime correspondiente:

Extraiga el archivo descargado y use el comando export para establecer DOTNET_ROOT en la ubicación de la carpeta extraída y, luego, asegúrese de que .NET esté en PATH. La exportación de DOTNET_ROOT hace que los comandos de la CLI de .NET estén disponibles en el terminal. Para obtener más información sobre las variables de entorno de .NET, vea SDK de .NET y variables de entorno de la CLI.

Se pueden extraer diferentes versiones de .NET en la misma carpeta, que coexisten en paralelo.

Ejemplo

Los siguientes comandos usan Bash para establecer la variable de entorno DOTNET_ROOT en el directorio de trabajo actual seguido de .dotnet. Ese directorio se crea si no existe. La variable de entorno DOTNET_FILE es el nombre de archivo de la versión binaria de .NET que desea instalar. Este archivo se extrae en el directorioDOTNET_ROOT. Tanto el directorio DOTNET_ROOT como su subdirectorio tools se agregan a la variable de entorno PATH.

Importante

Si ejecuta estos comandos, recuerde cambiar el valor de DOTNET_FILE al nombre del archivo binario de .NET que descargó.

DOTNET_FILE=dotnet-sdk-8.0.100-osx-x64.tar.gz
export DOTNET_ROOT=$(pwd)/.dotnet

mkdir -p "$DOTNET_ROOT" && tar zxf "$DOTNET_FILE" -C "$DOTNET_ROOT"

export PATH=$PATH:$DOTNET_ROOT

Puede instalar más de una versión de .NET en la misma carpeta.

También puede instalar .NET en el directorio principal identificado por la variable HOME o ruta de acceso~:

export DOTNET_ROOT=$HOME/.dotnet

Comprobación de los binarios descargados

Después de descargar un instalador, compruébelo para asegurarse de que el archivo no se ha cambiado o dañado. Puede verificar la suma de comprobación en el equipo y, a continuación, compararla con lo notificado en el sitio web de descarga.

Al descargar un instalador o binario desde una página de descarga oficial, se muestra la suma de comprobación del archivo. Seleccione el botón Copiar para copiar el valor de la suma de comprobación al Portapapeles.

La página de descarga de .NET con suma de comprobación

Use el comando sha512sum para imprimir la suma de comprobación del archivo que ha descargado. Por ejemplo, el siguiente comando notifica la suma de comprobación del archivo dotnet-sdk-8.0.100-linux-x64.tar.gz:

$ sha512sum dotnet-sdk-8.0.100-linux-x64.tar.gz
13905ea20191e70baeba50b0e9bbe5f752a7c34587878ee104744f9fb453bfe439994d38969722bdae7f60ee047d75dda8636f3ab62659450e9cd4024f38b2a5  dotnet-sdk-8.0.100-linux-x64.tar.gz

Compare la suma de comprobación con el valor proporcionado por el sitio de descarga.

Importante

Aunque se muestra un archivo linux en estos ejemplos, esta información se aplica igualmente a macOS.

Uso de un archivo de suma de comprobación para validar

Las notas de la versión de .NET contienen un vínculo a un archivo de suma de comprobación que puede usar para validar el archivo descargado. En los pasos siguientes se describe cómo descargar el archivo de suma de comprobación y validar un binario de instalación de .NET:

  1. La página de notas de la versión de .NET 8 sobre GitHub en https://github.com/dotnet/core/tree/main/release-notes/8.0 contiene una sección denominada Versiones. La tabla de esa sección se vincula a las descargas y los archivos de suma de comprobación para cada versión de .NET 8:

    La tabla de notas de la versión de GitHub para .NET

  2. Seleccione el vínculo de la versión de .NET que ha descargado. En la sección anterior se usó el SDK de .NET 8.0.100, que se encuentra en la versión de .NET 8.0.0.

  3. En la página de versión, puede ver la versión del runtime de .NET y del SDK de .NET y un vínculo al archivo de suma de comprobación:

    La tabla de descargas con sumas de comprobación para .NET

  4. Copie el vínculo al archivo de suma de comprobación.

  5. Use el siguiente script, pero reemplace el vínculo para descargar el archivo de suma de comprobación adecuado:

    curl -O https://dotnetcli.blob.core.windows.net/dotnet/checksums/8.0.0-sha.txt
    
  6. Con el archivo de suma de comprobación y el archivo de versión de .NET descargado en el mismo directorio, use el comando sha512sum -c {file} --ignore-missing para validar el archivo descargado.

    Cuando se supera la validación, verá que el archivo se imprime con el estado Aceptado:

    $ sha512sum -c 8.0.0-sha.txt --ignore-missing
    dotnet-sdk-8.0.100-linux-x64.tar.gz: OK
    

    Si ve el archivo marcado como Fallado, el archivo que descargó no es válido y no debe usarse.

    $ sha512sum -c 8.0.0-sha.txt --ignore-missing
    dotnet-sdk-8.0.100-linux-x64.tar.gz: FAILED
    sha512sum: WARNING: 1 computed checksum did NOT match
    sha512sum: 8.0.0-sha.txt: no file was verified
    

Establecimiento de variables de entorno en todo el sistema

Si ha usado las instrucciones de la sección Ejemplo de instalación manual, las variables establecidas solo se aplican a la sesión de terminal actual. Agréguelas al perfil de shell. Hay muchos shells diferentes disponibles para MacOS y cada uno tiene un perfil diferente. Por ejemplo:

  • Shell de Bash: ~/.profile, /etc/profile
  • Shell de Korn: ~/.kshrc or .profile
  • Shell de Z: ~/.zshrc or .zprofile

Establezca las dos variables de entorno siguientes en el perfil de shell:

  • DOTNET_ROOT

    Esta variable se establece en la carpeta en la que se instaló .NET, como $HOME/.dotnet:

    export DOTNET_ROOT=$HOME/.dotnet
    
  • PATH

    Esta variable debe incluir la carpeta DOTNET_ROOT y la carpeta DOTNET_ROOT/tools:

    export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools
    

Equipos Mac basados en Arm

En las secciones siguientes se describen los aspectos que debe tener en cuenta al instalar .NET en un equipo Mac basado en Arm.

Lo que se admite

En la tabla siguiente se describen las versiones de .NET que se admiten en un equipo Mac basado en Arm:

Versión de .NET Architecture SDK Tiempo de ejecución Conflicto de ruta de acceso
8 Arm64 No
8 x64 No
7 Arm64 No
7 x64 No
6 Arm64 No
6 x64 No

A partir de .NET 6, las versiones x64 y Arm64 del SDK de .NET existen independientemente entre sí. Si se lanza una nueva versión, cada instalación debe actualizarse.

Diferencias de ruta de acceso

En un equipo Mac basado en Arm, todas las versiones Arm64 de .NET están instaladas en la carpeta /usr/local/share/dotnet/ habitual. Sin embargo, al instalar la versión x64 del SDK de .NET, se instala en la carpeta /usr/local/share/dotnet/x64/dotnet/.

Conflictos de ruta de acceso

A partir de NET 6, el SDK de .NET para x64 se instala en su propio directorio, como se describe en la sección anterior. De esta forma, las versiones Arm64 y x64 del SDK de .NET existen en la misma máquina. Sin embargo, los SDK para x64 anteriores a .NET 6 no se admiten y se instalan en la misma ubicación que la versión Arm64, en la carpeta /usr/local/share/dotnet/. Si quiere instalar un SDK para x64 no admitido, primero debe desinstalar la versión Arm64. Lo contrario también es cierto: debe desinstalar el SDK para x64 no admitido para instalar la versión Arm64.

Variables de ruta de acceso

Es posible que sea necesario cambiar las variables de entorno que agregan .NET a la ruta de acceso del sistema, como la variable PATH, si tiene instaladas las versiones x64 y Arm64 del SDK de .NET 6. Además, algunas herramientas se basan en la variable de entorno DOTNET_ROOT, que también tendría que actualizarse para que apunte a la carpeta de instalación del SDK de .NET 6 adecuada.

Instalación con Visual Studio para Mac

Visual Studio para Mac instala el SDK de .NET cuando se selecciona la carga de trabajo .NET. Para empezar con el desarrollo en .NET en macOS, vea Instalación de Visual Studio 2022 para Mac.

Importante

Visual Studio para Mac se va a retirar. Para obtener más información, consulte ¿Qué ocurre con Visual Studio para Mac?.

Versión de SDK de .NET Versión de Visual Studio
8.0 Visual Studio 2022 para Mac, versión 17.6.1 o posterior. (Disponible solo como característica en versión preliminar).
7.0 Visual Studio 2022 para Mac 17.4 o posterior.
6.0 Visual Studio 2022 para Mac, versión 17.0 o posterior.

Visual Studio 2022 para Mac con la carga de trabajo .NET seleccionada.

Importante

Microsoft ha anunciado la retirada de Visual Studio para Mac. Visual Studio para Mac dejará de recibir soporte técnico a partir del 31 de agosto de 2024. De forma alternativa, puede hacer lo siguiente:

Para más información, consulte Anuncio de retirada de Visual Studio para Mac.

Instalación junto con Visual Studio Code

Visual Studio Code es un editor de código fuente ligero y eficaz que se ejecuta en el escritorio. Visual Studio Code está disponible para Windows, macOS y Linux.

Aunque Visual Studio Code no incluye un instalador automatizado de .NET como Visual Studio, resulta sencillo agregar compatibilidad con .NET.

  1. Descargue e instale Visual Studio Code.
  2. Descargue e instale el SDK de .NET.
  3. Instale la extensión de C# desde el Marketplace de Visual Studio Code.

Instalación mediante la automatización de Bash

Los scripts de dotnet-install se usan para la automatización y las instalaciones que no son de administrador del entorno de ejecución. Se puede descargar el script desde la página de referencia del script dotnet-install.

El valor predeterminado del script es instalar la versión más reciente de soporte técnico a largo plazo (LTS), que actualmente es .NET 8. Puede elegir una versión concreta especificando el modificador channel. Incluya el modificador runtime para instalar un entorno de ejecución. De lo contrario, el script instala el SDK.

El comando siguiente instala el runtime de ASP.NET Core para obtener la máxima compatibilidad. El entorno de ejecución de ASP.NET Core también incluye el estándar de .NET.

./dotnet-install.sh --channel 8.0 --runtime aspnetcore

Docker

Los contenedores proporcionan una manera ligera de aislar la aplicación del resto del sistema host. Los contenedores de la misma máquina comparten solo el kernel y usan los recursos proporcionados a la aplicación.

.NET se puede ejecutar en un contenedor de Docker. Las imágenes oficiales de Docker en .NET se publican en el registro de contenedor de Microsoft (MCR) y se pueden encontrar en el repositorio de Docker Hub para Microsoft .NET. Cada repositorio contiene imágenes para diferentes combinaciones de .NET (SDK o Runtime) y del sistema operativo que puede usar.

Microsoft ofrece imágenes que se adaptan a escenarios específicos. Por ejemplo, el repositorio de ASP.NET Core proporciona imágenes que se compilan para ejecutar aplicaciones de ASP.NET Core en producción.

Para obtener más información sobre el uso de .NET en un contenedor de Docker, vea Introducción a .NET y Docker y Ejemplos.

Pasos siguientes