El CLI de .NET es una interfaz de línea de comandos proporcionada por el .NET SDK que permite realizar tareas y acciones para gestionar proyectos de .NET.
Con el CLI podemos podemos crear, compilar, ejecutar y administrar proyectos en .NET de manera sin necesidad de un entorno gráfico (como Visual Studio).
Esto en muchas ocasiones es más rápido y eficiente que hacerlo desde un IDE. Además, nos permite automatizar tareas y flujos de trabajo.
Aquí tienes la tabla con emojis simples y discretos:
Característica | CLI | Visual Studio |
---|---|---|
Velocidad | 🟢 Rápido | 🔴 Más lento |
Control | 🟢 Granular | 🔴 Limitado |
Automatización | 🟢 Excelente | 🔴 Limitada |
Interfaz | Terminal | GUI |
Requisitos | 🟢 Solo SDK | 🔴 IDE completo |
El CLI de .NET SDK es como tu navaja suiza del desarrollador C#. Te proporciona un conjunto completo de utilidades para realizar cualquier tarea del desarrollo de aplicaciones en el entorno .NET.
Además de que usar la consola te hace sentir un hacker, que no está mal
Como es una herramienta que vas a usar frecuentemente, vamos a ver como usarla 👇
Verificar la instalación de .NET SDK
Antes de empezar, lógicamente deberemos verificar que el .NET SDK esté correctamente instalado. Para ello, ejecuta el siguiente comando:
dotnet --version
Este comando mostrará la versión instalada del SDK. Si no ves una versión, asegúrate de que el SDK esté correctamente instalado y que la ruta de la CLI esté en tu variable de entorno PATH
.
Si no lo tienes instalado .NET SDK, lo vimos en
Estructura básica de comando
El CLI de .NET es una interfaz de línea de comandos. Es decir, que se ejecuta y responde a través de una terminal (como CMD, o PS).
Todos los comandos tienen más o menos la misma pinta, y siguen el patrón:
dotnet [comando] [argumentos] [opciones]
Algunos de los comandos más habituales son,
Comando | Descripción | Ejemplo |
---|---|---|
new | Crea nuevos proyectos | dotnet new console |
restore | Restaura dependencias | dotnet restore |
build | Compila el proyecto | dotnet build |
run | Ejecuta el proyecto | dotnet run |
test | Ejecuta tests | dotnet test |
add | Añade paquetes/referencias | dotnet add package Newtonsoft.Json |
publish | Publica para despliegue | dotnet publish -c Release |
Creación de proyectos
Una de las funciones más habituales del CLI es crear un proyecto nuevo, con el comando dotnet new
. Este comando admite plantillas predefinidas para diferentes tipos de proyectos.
Por ejemplo, si queremos crear un nuevo proyecto un nuevo proyecto de API web haríamos así,
dotnet new webapi -n MiPrimeraApi
- webapi: Es el tipo de proyecto que queremos crear (console, wepapi…)
- -n: Nombre del proyecto
- -o: Directorio de salida
- -f: Versión de .NET
Este comando creará una carpeta llamada MiPrimeraApi
con la estructura básica de un proyecto de API web.
Tipos de plantillas disponibles
Si queremos ver las plantillas que tenéis instaladas en vuestro equipo podéis hacer,
dotnet new list # Lista todas las plantillas
Algunas de las plantillas más comunes son,
console
: Aplicación de consolawebapi
: API RESTmvc
: Aplicación web MVCclasslib
: Biblioteca de clasesxunit
: Proyecto de tests
Gestión de dependencias
Con el CLI también podemos gestionar las dependencias de nuestro proyecto.
Añadir paquetes NuGet
Los paquetes NuGet son bibliotecas externas que puedes agregar a tu proyecto para extender su funcionalidad. Para agregar un paquete, utilizamos el comando dotnet add package
.
Por ejemplo, para agregar el paquete Microsoft.EntityFrameworkCore
:
dotnet add package Microsoft.EntityFrameworkCore
Este comando descargará e instalará el paquete en tu proyecto, y lo agregará automáticamente al archivo .csproj
.
Referenciar otros proyectos
También podemos añadir una referencia a otro proyecto,
dotnet add reference ../MyClassLib/MyClassLib.csproj
Restaurar dependencias
Cuando clonas un proyecto existente o agregas nuevos paquetes, es posible que necesites restaurar las dependencias. Para ello, utiliza el comando dotnet restore
.
dotnet restore
Este comando descargará todas las dependencias necesarias para compilar y ejecutar el proyecto.
Build y ejecución
Por supuesto, también podemos ejecutar y compilar nuestro proyecto.
Ejecutar un proyecto
Para ejecutar un proyecto ASP.NET Core, utiliza el comando dotnet run
. Este comando compila el proyecto (si es necesario) y lo ejecuta.
dotnet run
Compilar un proyecto
Una vez que hayas creado un proyecto, puedes compilarlo usando el comando dotnet build
. Este comando compila el código fuente y genera los archivos binarios necesarios para ejecutar la aplicación.
dotnet build
Si el proyecto se compila correctamente, verás un mensaje de éxito en la terminal. Si hay errores, la CLI te mostrará detalles sobre los problemas encontrados.
Opciones útiles:
- -c|—configuration: Debug/Release (-c release)
- -r|—runtime: Especificar RID Runtime Identifier (-r linux-x64)
- —no-restore: Omite la restauración
Si necesitáis pasar parámetros al ejecutable, podéis hacerlo así
dotnet run -- arg1 arg2
Por ejemplo
dotnet run --urls=http://localhost:8080
Limpiar el proyecto
Si deseas eliminar los archivos generados durante la compilación, puedes usar el comando dotnet clean
.
dotnet clean
Este comando eliminará las carpetas bin
y obj
, que contienen los archivos binarios y temporales generados durante la compilación
Ejecutar test
Si tu proyecto incluye pruebas unitarias, puedes ejecutarlas usando el comando dotnet test
.
dotnet test
Este comando buscará todos los proyectos de prueba en la solución y ejecutará las pruebas
Publicación de una aplicación
Cuando estés listo para desplegar tu aplicación, puedes usar el comando dotnet publish
para generar los archivos necesarios para la publicación.
dotnet publish -c Release -o ./publish
Este comando compila el proyecto en modo Release y coloca los archivos resultantes en la carpeta ./publish
.
Para distribuir una aplicación compilada:
dotnet publish -c Release -r win-x64 --self-contained true
Esto genera un ejecutable independiente para Windows. Puedes cambiar win-x64
por linux-x64
o osx-x64
según el sistema objetivo.
Global Tools
El CLI también nos permite instalar herramientas globales. Estos son paquetes de NuGet que contienen aplicaciones de consola que se pueden instalar y ejecutar desde cualquier lugar en tu máquina.
Estas herramientas son útiles para tareas de desarrollo, automatización o cualquier utilidad que necesites tener disponible globalmente.
Comando | Descripción |
---|---|
dotnet tool install -g <NombreHerramienta> | Instala una herramienta globalmente |
dotnet tool update -g <NombreHerramienta> | Actualiza una herramienta global |
dotnet tool list -g | Lista todas las herramientas globales instaladas |
dotnet tool uninstall -g <NombreHerramienta> | Desinstala una herramienta global |
Por ejemplo, si queremos instalar la herramienta dotnet-ef
para manejar proyectos de Entity Framework, haríamos así
# Instalar la herramienta 'dotnet-ef' globalmente
dotnet tool install -g dotnet-ef
# Ejecutar la herramienta
dotnet ef