Compartir a través de


Instalación del SDK de .NET con Snap

En este artículo se describe cómo instalar el paquete snap del SDK de .NET. Paquetes Snap del SDK de .NET son proporcionados y mantenidos por Canonical. Los snaps son una excelente alternativa para el administrador de paquetes integrada en la distribución de Linux.

Un Snap es un paquete de una aplicación y sus dependencias que funciona en diferentes distribuciones de Linux. Los snaps son detectables e instalables desde el Snap Store. Para obtener más información sobre Snap, consulte la guía de inicio rápido.

Precaución

Las instalaciones de Snap de .NET pueden tener problemas al ejecutar herramientas de .NET. Si desea usar herramientas de .NET, se recomienda instalar .NET mediante el script dotnet-install script o el administrador de paquetes para la distribución de Linux concreta.

Es un problema conocido que el comando dotnet watch no funciona cuando se instala .NET a través de Snap.

Si va a usar herramientas de .NET o el comando dotnet watch, se recomienda instalar .NET mediante el script dotnet-install script.

Requisitos previos

  • Distribución de Linux que admite Snap.
  • demonio del Snap.

Es posible que su distribución de Linux ya incluya el Snap. Pruebe a ejecutar desde un terminal para ver si el comando funciona. Para obtener una lista de las distribuciones de Linux admitidas e instrucciones sobre cómo instalar Snap, consulte Instalación.

versiones de .NET

Microsoft publica .NET en dos directivas de soporte técnico diferentes: soporte técnico a largo plazo (LTS) y 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 de STS obtienen soporte técnico gratuito y revisiones durante dos años. Para obtener más información, consulte .NET Directiva de soporte técnico.

Las versiones de .NET compatibles actualmente con Microsoft son:

  • 10.0 (LTS): el soporte técnico finaliza el 14 de noviembre de 2028.
  • 9.0 (STS): el soporte técnico finaliza el 10 de noviembre de 2026.
  • 8.0 (LTS): el soporte técnico finaliza el 10 de noviembre de 2026.

Otras entidades que compilan y liberan .NET pueden introducir diferentes directivas de soporte técnico. Asegúrese de consultar con ellos para comprender cómo se admite .NET.

1. Instalar el SDK

Importante

.NET 10 fue lanzado el 11 de noviembre de 2025. Los paquetes pueden tardar tiempo en aparecer en las fuentes del administrador de paquetes o en ser incluidos en su distribución específica de Linux.

A partir de .NET 9, los paquetes snap para el SDK de .NET se publican bajo identificadores específicos de la versión (por ejemplo, dotnet-sdk-90 para .NET 9 y dotnet-sdk-100 para .NET 10). Antes de .NET 9, todas las versiones del SDK se publicaban bajo el mismo identificador dotnet-sdk, y especificaban la versión a través de un canal. Además, .NET 9 y los paquetes de ajuste posteriores admiten arquitecturas x64 y Arm64, mientras que las versiones anteriores solo admiten x64. El SDK incluye tanto el entorno de ejecución de ASP.NET Core como el de .NET, con versiones coincidentes con el SDK.

Sugerencia

La página Snapcraft .NET paquete del SDK incluye instrucciones específicas de la distribución sobre cómo instalar Snapcraft y .NET.

  1. Abra un terminal.

  2. Use snap install para instalar el paquete snap del .NET SDK.

    El parámetro es obligatorio.

    • Para .NET 9 y versiones posteriores

      Instale el paquete específico de la versión. Por ejemplo, el siguiente comando instala .NET SDK 10:

      sudo snap install dotnet-sdk-100 --classic
      
    • Para .NET 8 y versiones anteriores

      Instale desde el paquete y especifique un canal. Si se omite este parámetro, se usa . Por ejemplo, el siguiente comando instala .NET SDK 8:

      sudo snap install dotnet-sdk --classic --channel 8.0/stable
      

El alias de snap se crea automáticamente y se asigna al comando del paquete snap.

En la tabla siguiente se enumeran los paquetes Snap y los canales que puede instalar:

versión de .NET Ajustar paquete o canal
10 (LTS) (versión preliminar)
9 (STS) dotnet-sdk-90
8 (LTS) dotnet-sdk --channel 8.0/stable
7 (fuera de soporte técnico)
6 (fuera de soporte técnico)
5 (fuera de soporte técnico)
3.1 (fuera de soporte técnico)
2.1 (fuera de soporte técnico)

2. Exportación de la ubicación de instalación

Las herramientas suelen usar la variable de entorno DOTNET_ROOT para determinar dónde se instala .NET. Cuando se instala .NET a través de Snap, esta variable de entorno no está configurada. Debe configurar la variable de entorno DOTNET_ROOT en el perfil. La ruta a Snap usa el siguiente formato: .

Para .NET 9 y versiones posteriores, use el nombre del paquete específico de la versión:

export DOTNET_ROOT=/snap/dotnet-sdk-100/current

Para .NET 8 y versiones anteriores, use el nombre del paquete compartido:

export DOTNET_ROOT=/snap/dotnet-sdk/current

Exportación permanente de la variable de entorno

El comando anterior solo establece la variable de entorno para la sesión de terminal en la que se ha ejecutado.

Puede editar el perfil del shell para agregar los comandos de forma permanente. Hay muchos shells diferentes disponibles para Linux y cada uno tiene un perfil diferente. Por ejemplo:

  • Shell de Bash: ~/.bash_profile, ~/.bashrc
  • Korn Shell: ~/.kshrc o .profile
  • Z Shell: _~/.zshrc* o .zprofile

Edite el archivo de origen adecuado para el shell y agregue el comando de exportación para la versión de .NET instalada. Para .NET 9+, use export DOTNET_ROOT=/snap/dotnet-sdk-100/current (ajuste el número de versión según sea necesario). Para .NET 8 y versiones anteriores, use export DOTNET_ROOT=/snap/dotnet-sdk/current.

3. Uso de la CLI de .NET

Abra un terminal y escriba .

dotnet

Se muestra el siguiente resultado:

Usage: dotnet [options]
Usage: dotnet [path-to-application]

Options:
  -h|--help         Display help.
  --info            Display .NET information.
  --list-sdks       Display the installed SDKs.
  --list-runtimes   Display the installed runtimes.

path-to-application:
  The path to an application .dll file to execute.

Para obtener información sobre cómo usar la CLI de .NET, consulte .NET información general de la CLI.

Solución de problemas

  • El comando dotnet terminal no funciona
  • No se puede instalar Snap en WSL2
  • No se puede resolver el comando dotnet ni el SDK
  • Errores de certificado TLS/SSL

El comando dotnet terminal no funciona

Los paquetes Snap pueden asignar un alias a un comando proporcionado por el paquete. De forma predeterminada, los paquetes de ajuste del SDK de .NET crean un alias para el comando dotnet. Si el alias no se creó o se eliminó anteriormente, use el siguiente comando para mapear el alias.

Para .NET 9 y versiones posteriores:

sudo snap alias dotnet-sdk-100.dotnet dotnet

Para .NET 8 y versiones anteriores:

sudo snap alias dotnet-sdk.dotnet dotnet

No se puede instalar Snap en WSL2

debe estar habilitado en la instancia de WSL2 para poder instalar Snap.

  1. Abra en un editor de texto de su elección.

  2. Pegue la siguiente configuración:

    [boot]
    systemd=true
    
  3. Guarde el archivo y reinicie la instancia de WSL2 a través de PowerShell. Utiliza el comando.

No se puede resolver el comando dotnet o SDK

Es habitual que otras aplicaciones, como un IDE de código o una extensión en Visual Studio Code, intenten resolver la ubicación del SDK de .NET. Normalmente, el descubrimiento se realiza comprobando la variable de entorno o averiguando dónde se encuentra el ejecutable . Es posible que un SDK de .NET instalado con Snap podría confundir estas aplicaciones. Cuando estas aplicaciones no pueden resolver el SDK de .NET, se muestra un error similar a uno de los siguientes mensajes:

  • El SDK 'Microsoft.NET.Sdk' especificado no se pudo encontrar
  • El SDK 'Microsoft.NET.Sdk.Web' especificado no se pudo encontrar.
  • No se pudo encontrar el SDK especificado 'Microsoft.NET.Sdk.Razor'.

Pruebe los siguientes pasos para solucionar el problema:

  1. Asegúrese de exportar la variable de entorno de forma permanente.

  2. Intente establecer un vínculo simbólico con el ejecutable de Snap en la ubicación que busca el programa.

    Dos rutas comunes que busca el comando son:

    • /usr/local/bin/dotnet
    • /usr/share/dotnet

    Use el siguiente comando para crear un vínculo simbólico al paquete Snap. Para .NET 9 y versiones posteriores, use el nombre del paquete específico de la versión:

    ln -s /snap/dotnet-sdk-100/current/dotnet /usr/local/bin/dotnet
    

    Para .NET 8 y versiones anteriores:

    ln -s /snap/dotnet-sdk/current/dotnet /usr/local/bin/dotnet
    

Errores de certificado TLS/SSL

Cuando se instala .NET a través de Snap, es posible que en algunas distribuciones no se encuentren los certificados TLS/SSL de .NET y es posible que reciba un error durante restore:

Processing post-creation actions...
Running 'dotnet restore' on /home/myhome/test/test.csproj...
  Restoring packages for /home/myhome/test/test.csproj...
/snap/dotnet-sdk/27/sdk/2.2.103/NuGet.targets(114,5): error : Unable to load the service index for source https://api.nuget.org/v3/index.json. [/home/myhome/test/test.csproj]
/snap/dotnet-sdk/27/sdk/2.2.103/NuGet.targets(114,5): error :   The SSL connection could not be established, see inner exception. [/home/myhome/test/test.csproj]
/snap/dotnet-sdk/27/sdk/2.2.103/NuGet.targets(114,5): error :   The remote certificate is invalid according to the validation procedure. [/home/myhome/test/test.csproj]

Para resolver este problema, establezca algunas variables de entorno:

export SSL_CERT_FILE=[path-to-certificate-file]
export SSL_CERT_DIR=/dev/null

La ubicación del certificado varía según la distribución. A continuación se indican las ubicaciones de las distribuciones en las que se ha observado el problema:

Distribución Ubicación
Fedora /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
OpenSUSE /etc/ssl/ca-bundle.pem
Solus /etc/ssl/certs/ca-certificates.crt