Saltar al pie de página
Iron Academy Logo
Aprender C#
Aprender C#

Otras categorías

5 comandos esenciales de .NET CLI que todo desarrollador debe conocer

Tim Corey
9m 30s

La mayoría de los desarrolladores de C# pasan todo su flujo de trabajo dentro de un IDE, haciendo clic en botones para compilar, lanzar y probar sus aplicaciones. Eso funciona hasta que deja de hacerlo. Las canalizaciones de automatización, los servidores remotos y los entornos contenedorizados no tienen interfaz gráfica, y conocer un puñado de comandos de terminal lo mantiene productivo en esas situaciones sin necesidad de usar un mouse.

En su video "5 Essential .NET CLI Commands Every Developer Should Know", Tim Corey repasa las cinco operaciones dotnet que cubren más territorio en el desarrollo diario: build, run, watch, clean y publish. Cada una recibe una demostración práctica, mostrando no solo la sintaxis sino también cuándo y por qué utilizarla. Ya sea que se sienta cómodo con el terminal o raramente abra uno, vale la pena memorizarlos.

Verificando Su Entorno con dotnet --info

[0:31 - 1:25] Antes de ejecutar cualquier comando de proyecto, Tim comienza verificando el entorno de desarrollo. El comando dotnet por sí solo confirma que el CLI está instalado y accesible en tu ruta, pero dotnet --info va más allá:

dotnet --info
dotnet --info
SHELL

Esto imprime cada versión de SDK y runtime instalado en su máquina, junto con los detalles del sistema operativo y la arquitectura activa. Tim demuestra esto en .NET 10, pero el comando funciona de manera idéntica en cualquier versión. Saber qué tiene instalado es especialmente útil al depurar desajustes de versión o al verificar que un servidor CI refleja su configuración local.

Comando 1: dotnet build

[2:16 - 3:44] El primer comando compila su proyecto sin lanzarlo:

dotnet build
dotnet build
SHELL

Ejecutar esto desde el directorio del proyecto lee el archivo .csproj, resuelve dependencias y produce un resultado compilado bajo la carpeta bin. Tim señala que la compilación es un paso distinto, separado de la ejecución. Esa separación importa cuando quiere verificar que su código se compila correctamente antes de enviarlo a un repositorio o pasarlo a un servidor de compilación.

El .NET SDK maneja la resolución de dependencias durante el proceso de compilación, descargando cualquier paquete NuGet faltante y asegurando que todos los ensamblados referenciados estén presentes. Si algo falla en esta etapa, los mensajes de error apuntan directamente al problema, ya sea una referencia faltante, un error de sintaxis o una incompatibilidad de marco objetivo. Detectar esos problemas antes de ejecutar la aplicación ahorra tiempo en el ciclo total de desarrollo.

Comando 2: dotnet run

[3:44 - 5:42] Donde build se detiene en la compilación, run da el siguiente paso y lanza la aplicación:

dotnet run
dotnet run
SHELL

Esto compila el proyecto (si es necesario) y luego ejecuta la salida resultante. Para una aplicación de consola, eso significa ejecutarla en el terminal. Para un proyecto web, el servidor Kestrel integrado se inicia y la aplicación se hace disponible en una URL local.

Tim demuestra esto con una aplicación web, navegando al sitio en ejecución en un navegador para confirmar que todo se carga correctamente. La distinción clave entre build y run es que run produce un resultado en vivo e interactivo. Durante el desarrollo activo, este es el comando que usará con más frecuencia para probar cambios y ver su efecto.

Comando 3: dotnet watch

[5:42 - 7:06] Detener la aplicación, hacer un cambio y reiniciarla se vuelve tedioso rápidamente. El comando watch elimina ese ciclo:

dotnet watch
dotnet watch
SHELL

Esto envuelve el proceso de ejecución en un observador de archivos. Cuando guarda un cambio en cualquier archivo fuente, el CLI detecta la modificación y recompila y actualiza automáticamente la aplicación. Para aplicaciones web construidas con ASP.NET Core, los cambios en los archivos Razor, CSS y código C# aparecen en el navegador sin un reinicio manual.

Tim muestra el comportamiento de recarga en caliente en acción: editando una página, guardando y viendo la actualización reflejada de inmediato. Este bucle de retroalimentación estrecho es valioso durante el trabajo de UI, donde los pequeños ajustes ocurren constantemente. En lugar de ciclar a través de detener-editar-reconstruir-lanzar, se mantiene enfocado en el código y deja que las herramientas manejen el resto.

Comando 4: dotnet clean

[7:06 - 7:56] Los artefactos de construcción se acumulan en los directorios bin y obj con el tiempo. Ocasionalmente, archivos compilados obsoletos causan comportamientos confusos donde tus últimos cambios de código no parecen tener efecto, o donde una compilación tiene éxito localmente pero falla en una máquina nueva. El comando clean aborda esto:

dotnet clean
dotnet clean
SHELL

Ejecutarlo elimina el contenido de los directorios de salida para que su construcción subsiguiente comience desde cero. Tim enmarca esto como una herramienta de resolución de problemas en lugar de algo que se ejecuta después de cada cambio. Cuando tu proyecto se comporte de manera inesperada y sospeches que la salida en caché es la culpable, clean seguido de build asegura que trabajas con una compilación realmente fresca.

Este hábito es particularmente útil al cambiar de ramas en el control de versiones, al actualizar una dependencia a una nueva versión principal o al resolver advertencias de compilación intermitentes que parecen aparecer y desaparecer sin una causa clara.

Comando 5: dotnet publish

[7:56 - 9:01] El comando final cierra la brecha entre desarrollo y despliegue:

dotnet publish
dotnet publish
SHELL

Mientras que build produce una salida adecuada para la depuración local, publish crea un paquete listo para la implementación. Las ensamblados compilados, archivos de configuración, activos estáticos y cualquier componente de tiempo de ejecución requerido se depositan en una carpeta publish que puedes copiar directamente a un servidor.

La distinción entre build y publish sorprende a algunos desarrolladores. La salida build incluye símbolos de depuración y referencias que son útiles durante el desarrollo pero innecesarios (y a veces indeseables) en producción. La publicación elimina esos extras y organiza la salida para su entorno objetivo. Al desplegar en Docker o al cargar en un host en la nube, la salida publicada es lo que pertenece a su imagen final o paquete de lanzamiento.

Resumiendo: Cinco Comandos, Un solo Flujo de Trabajo

[9:01 - 9:15] Tim cierra enumerando los cinco juntos: dotnet build, dotnet run, dotnet watch, dotnet clean y dotnet publish. Tomados como un conjunto, cubren el bucle de desarrollo principal desde la compilación hasta el despliegue. Cada uno sirve un propósito específico, y saber cuándo usarlos da un nivel de control que presionar botones de IDE no permite.

Conclusión

[9:15 - 9:30] Estos cinco comandos CLI manejan las tareas que realiza con más frecuencia durante el desarrollo: compilar, ejecutar, recarga en vivo, limpiar salida obsoleta y empaquetar para el lanzamiento. Trabajan en todos los tipos de proyectos .NET y en cada sistema operativo que el SDK admite.

La próxima vez que abra un terminal, ya sea en su máquina local, dentro de un contenedor o en un servidor remoto, ya tiene el vocabulario para moverse por el ciclo de desarrollo completo sin interfaz gráfica.

Tip de ejemplo: Puedes encadenar clean y build en una sola línea con dotnet clean && dotnet build. Esto garantiza una compilación desde cero en un solo paso, lo cual es especialmente útil al solucionar problemas que persisten a través de compilaciones incrementales.

Vea el video completo en su Canal de YouTube y obtenga más información sobre los conceptos esenciales del CLI de .NET.

Hero Worlddot related to 5 comandos esenciales de .NET CLI que todo desarrollador debe conocer
Hero Affiliate related to 5 comandos esenciales de .NET CLI que todo desarrollador debe conocer

Gana más compartiendo lo que te gusta

¿Creas contenidos para desarrolladores que trabajan con .NET, C#, Java, Python o Node.js? ¡Convierte tu experiencia en un ingreso extra!

Equipo de soporte de Iron

Estamos disponibles online las 24 horas, 5 días a la semana.
Chat
Email
Llámame