Configura el .NET SDK moderno en cualquier OS usando la CLI multiplataforma
Introducción
Cuando trabajás con desarrollo moderno, necesitás un SDK que funcione en Windows, macOS y Linux sin sacrificar rendimiento o facilidad de uso. El dotnet CLI (interfaz de línea de comandos de .NET) es la herramienta principal para desarrollar, ejecutar y publicar aplicaciones .NET en todas las plataformas. Este tutorial te guía paso a paso para instalar y configurar el .NET SDK más reciente en Windows, macOS y Linux, verifica que todo esté bien, y luego crea y ejecuta una aplicación de consola sencilla, mostrando cada comando y la salida esperada.
A quién va dirigido este artículo
- Desarrolladores principiantes que acaban de elegir .NET y necesitan un setup limpio.
- Programadores que trabajan en equipos multiplataforma y necesitan el mismo SDK en cada máquina.
- Estudiantes y entusiastas que quieren un tutorial práctico con ejemplos que pueden copiar y pegar.
Qué vas a aprender
- Cómo elegir la opción de instalación correcta según tu sistema operativo.
- Cómo instalar el SDK usando el instalador oficial, administradores de paquetes y contenedores de Docker.
- Cómo verificar la instalación con
dotnet --versionydotnet --info. - Cómo crear un nuevo proyecto, compilarlo y ejecutarlo paso a paso.
- Cómo publicar una aplicación para diferentes sistemas operativos y arquitecturas.
- Trucos útiles y errores comunes para evitar.
Requisitos del sistema
| Componente | Versión mínima | Por qué es importante |
|---|---|---|
| Sistema operativo | Windows 10 (v1809+), macOS 10.13+, Linux (distribuciones recientes) | El SDK funciona en estos sistemas sin limitaciones. |
| CPU | 64-bit x86 o ARM64 | La compilación .NET es completamente de 64 bits. |
| Memoria RAM | 4 GB (mínimo) | Suficiente para SDK y proyectos pequeños. |
| Espacio en disco | ~500 MB para el SDK + espacio para tus proyectos | El SDK es compacto; tenés espacio para muchas aplicaciones. |
Si tus máquinas cumplen con estos requisitos, estás listo para empezar.
Instalación en diferentes sistemas operativos
Windows – Usando el instalador oficial
- Descargá el instalador desde https://learn.microsoft.com/en-us/dotnet/core/install/windows.
- Ejecutá el archivo
.exey seguí la interfaz gráfica. Elegí Visual Studio si ya lo usás, o elige Spotify (que instala solo el SDK de .NET y la CLI) si querés solo el SDK. - Marcar Agregar
dotnetal PATH del sistema para que la CLI esté disponible desde cualquier PowerShell o CMD. - Clickea Instalar y esperá. El instalador mostrará el progreso y los tamaños de los componentes.
Una vez completada la instalación, abrí una nueva ventana de PowerShell y corrés:
dotnet --versionSalida esperada (puede variar con la versión más nueva):
7.0.12macOS – Homebrew o instalador oficial
Homebrew (lo más rápido si ya tenés Homebrew)
brew install --formula dotnetTras la instalación, ejecutá:
dotnet --versionSalida esperada:
7.0.12Instalador oficial (si preferís la última versión sin Homebrew)
curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --channel 7.0Esto descarga el script de install, lo ejecuta y agrega el binario a /usr/local/dotnet. El script mostrará qué archivo está descargando y dónde lo instala.
Verifica con:
dotnet --infoLa salida incluirá:
Registro de SDK de .NET:
Versión de .NET SDK: 7.0.12
Versión de .NET Runtime: 7.0.12
Ruta del SDK: /usr/local/dotnet/sdk/7.0.12/Linux – Distribuciones apt, yum/dnf y snapshot
Ubuntu / Debian (apt)
sudo apt-get update
sudo apt-get install -y dotnetEl paquete apt instala la versión 7.0.12 en este momento. Verifica:
dotnet --versionSalida esperada:
7.0.12Fedora / CentOS / RHEL (yum/dnf)
sudo dnf install -y dotnetDe nuevo, dotnet --version debería mostrar 7.0.12.
Instalación manual (cualquier distro)
Si tu distro no provee aún un paquete, podés usar el script oficial:
curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --channel 7.0 --prefix /usr/share/dotnetEsto copia el SDK a /usr/share/dotnet y agrega ese directorio al PATH (si no lo hizo ya el script).
Verificación – Asegurándote que todo funcione
Comprobando la versión del SDK
dotnet --versionObteniendo detalles del SDK y runtime
dotnet --infoLas líneas más importantes que buscas son:
Registro de SDK de .NET:
Versión de .NET SDK: 7.0.12
Versión de .NET Runtime: 7.0.12
Ruta del SDK: /ruta/al/sdk/7.0.12/Si ves una versión 7.x.x, estás usando el SDK moderno y compatible con los lenguajes C#, F# y VB más nuevos.
Comprobando la instalación de la CLI
dotnet --list-sdksSalida esperada (puede haber múltiples versiones si tenés instaladas ambas):
7.0.12 [/usr/local/dotnet/sdk/7.0.12/]Instalando el SDK de .NET para una versión específica del lenguaje
Si más adelante necesitás la versión 8.0, instalásla así:
curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --channel 8.0Luego dotnet --list-sdks mostrará ambas versiones:
7.0.12 [/usr/local/dotnet/sdk/7.0.12/]
8.0.0 [/usr/local/dotnet/sdk/8.0.0/]Creando una primera aplicación de consola
Paso 1 – Crear un nuevo proyecto
dotnet new console -o hello-worlddotnet new crea una aplicación de consola minimal. El switch -o especifica la carpeta de salida hello-world. Esperá un momento; deberías ver mensajes como:
El proyecto C# ha sido creado exitosamente en ...
Se generaron los siguientes archivos:
/home/usuario/hello-world/Program.cs
/home/usuario/hello-world/HelloWorld.csprojPaso 2 – Examinando el archivo generado
El archivo Program.cs contiene típicamente:
using System;
namespace hello_world
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
}
}
}Paso 3 – Compilando el proyecto
Navegá a la carpeta del proyecto:
cd hello-world
dotnet buildLa compilación mostrará algo así:
Proyecto HelloWorld (/home/usuario/hello-world/HelloWorld.csproj) -> /home/usuario/hello-world/bin/Debug/net7.0/HelloWorld.dllSi no hay errores, el binario .dll está listo.
Paso 4 – Ejecutando el programa
dotnet runLa salida esperada es:
Hello, World!Eso es todo – acabás de ejecutar tu primera aplicación .NET.
Publicando para diferentes sistemas operativos
Una de las mayores fortalezas de .NET es la publicación multiplataforma. dotnet publish compila la aplicación para el sistema operativo y la arquitectura que especifiques, sin necesidad de un contenedor.
Publicando en Windows (x64)
cd hello-world
dotnet publish -c Release -r win-x64Después de la compilación, encontrarás una carpeta bin/Release/net7.0/win-x64/publish. Dentro de esa carpeta estarán los archivos .dll, program.exe, y cualquier recurso necesario.
Publicando en Linux (x64)
dotnet publish -c Release -r linux-x64Resultado: bin/Release/net7.0/linux-x64/publish con un binario estático (si usaste --self-contained). La salida esperada es:
Información compilada:
JIT: x64Publicando en macOS (ARM64)
dotnet publish -c Release -r osx-arm64Genera un binario optimizado para Apple Silicon.
Publicando una aplicación con dependencia del runtime (RDS)
Si preferís un DLL más pequeño pero necesitás el runtime de .NET instalado en la máquina destino, omití el -r:
dotnet publish -c ReleaseEsto crea bin/Release/net7.0/publish, donde podés copiar y pegar el .dll y el archivo .runtimeconfig.json en cualquier máquina con el SDK de .NET (o runtime) instalado.
Configurando el SDK dentro de un contenedor Docker
Los desarrolladores a menudo usan contenedores para mantener entornos aislados. La imagen oficial mcr.microsoft.com/dotnet/sdk incluye el SDK y el runtime.
FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build
WORKDIR /app
COPY *.csproj ./
RUN dotnet restore
COPY . ./
RUN dotnet publish -c Release -o /app/publish
FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS final
WORKDIR /app
COPY --from=build /app/publish ./
ENTRYPOINT ["dotnet", "HelloWorld.dll"]Este Dockerfile compila la aplicación, la publica y correla usando la imagen más liviana de ASP.NET. Puedes construir e ejecutar:
docker build -t dotnet-hello-world .
docker run --rm dotnet-hello-worldLa salida mostrará Hello, World! dentro del contenedor.
Mantenimiento del SDK y buenas prácticas
- Elegí un canal de soporte a largo plazo (LTS) a menos que necesites las últimas características. La versión LTS más reciente es .NET 6 (soportada hasta noviembre de 2024). Si estás en un entorno de producción, usa LTS.
- Mantené versiones exactas con global.json. Creá un archivo
global.jsonen tu repositorio raíz con la versión del SDK que querés forzar:
{
"sdk": {
"version": "7.0.12"
}
}El CLI lo leerá automáticamente, asegurando builds consistentes.
Evitá instalar múltiples SDK al mismo tiempo si no necesitas versiones paralelas. Borrá el directorio del SDK antiguo (
/usr/local/dotnet/sdk/6.0.*) o desinstálalo usando el gestor de paquetes del sistema.Usá las variables de entorno
DOTNET_ROOTyPATHcorrectamente. Si instalaste manualmente el SDK, agregá su carpeta binaria al PATH del sistema, o exportáDOTNET_ROOTen tu shell:
export DOTNET_ROOT=$HOME/.dotnet
export PATH=$PATH:$DOTNET_ROOT/dotnet- Habilitá la suma de verificación de la instalación. El script de instalación soporta
--checksum, pero la mayoría de los usuarios confían en la clave pública de Microsoft para verificar la integridad.
Errores comunes y cómo evitarlos
| Síntoma | Causa típica | Solución rápida |
|---|---|---|
dotnet: comando no encontrado |
SDK no está en PATH | Reinstalá y marcá Agregar a PATH, o exportá manualmente DOTNET_ROOT. |
La versión del SDK X no se encuentra |
Intentás usar una versión más nueva de SDK que la instalada. | Instalá la versión faltante o actualizá global.json. |
No se puede resolver el SDK de .NET al correr dotnet --info |
Ruta del SDK incorrecta en DOTNET_ROOT. |
Borra el SDK antiguo y reinstalá en una ubicación limpia. |
dotnet publish falla con --self-contained en Linux |
Intentás crear un binario estático para una arquitectura que el SDK no soporta. | Usá -r linux-x64 o -r linux-arm64 según tu CPU. |
dotnet run lanza System.TypeLoadException |
Corriendo una DLL compilada con un runtime diferente (por ejemplo, .NET 5 vs .NET 7). | Asegurate de ejecutar con el SDK correcto (dotnet --list-sdks). |
Conclusión
Configurar el .NET SDK moderno con la CLI multiplataforma es un proceso rápido y bien documentado. Siguiendo los pasos en este tutorial, podés tener el SDK funcionando en Windows, macOS y Linux, crear y ejecutar una aplicación de consola, y publicar para cualquier sistema operativo que necesites. Recaldamos la importancia de:
- Elegir el método de instalación adecuado para tu OS.
- Verificar la versión del SDK con
dotnet --versionydotnet --info. - Usar
global.jsonpara un control preciso de versiones. - Seguir buenas prácticas como elegir la versión LTS y mantener un solo SDK activo.
Ahora podés centrarte en escribir código en lugar de lidiar con problemas de instalación. ¡Feliz programación!.
DUGLAS MORENO
Comentarios (0)
Sé el primero en comentar.