como-usar-cli-dotnet

Que es y cómo usar el CLI de .NET

  • 6 min

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ísticaCLIVisual Studio
Velocidad🟢 Rápido🔴 Más lento
Control🟢 Granular🔴 Limitado
Automatización🟢 Excelente🔴 Limitada
InterfazTerminalGUI
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,

ComandoDescripciónEjemplo
newCrea nuevos proyectosdotnet new console
restoreRestaura dependenciasdotnet restore
buildCompila el proyectodotnet build
runEjecuta el proyectodotnet run
testEjecuta testsdotnet test
addAñade paquetes/referenciasdotnet add package Newtonsoft.Json
publishPublica para desplieguedotnet 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 consola
  • webapi: API REST
  • mvc: Aplicación web MVC
  • classlib: Biblioteca de clases
  • xunit: 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.

ComandoDescripción
dotnet tool install -g <NombreHerramienta>Instala una herramienta globalmente
dotnet tool update -g <NombreHerramienta>Actualiza una herramienta global
dotnet tool list -gLista 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