Saltar al contenido

Comando «dotnet» de .NET 6: Resumen Completo (Cheat Sheet)

El comando dotnet de .NET 6.0 te permite llevar a cabo 2 tareas:

  • Gestionar proyectos, por ejemplo:
    • dotnet build para compilar tu proyecto actual.
    • dotnet add Proyecto package Paquete para agregar un paquete al proyecto indicado.
  • Ejecutar aplicaciones, por ejemplo:
    • dotnet run para ejecutar tu proyecto actual.
    • dotnet Aplicacion.dll para ejecutar la aplicación indicada.

Recuerda que todos los comandos tienen la opción --help para obtener ayuda. Por ejemplo, dotnet --help te muestra todos los comandos disponibles y dotnet run --help te muestra todas las opciones de dicho comando.

A continuación, te listo todos los comandos de dotnet con sus opciones más comunes y utilizadas.

Gestionar Proyectos

Creación de Proyectos

Nuevo Proyecto

Crea un nuevo proyecto a partir de una plantilla:

dotnet new console crea una nueva aplicación de consola.

dotnet new mvc crea una nueva aplicación ASP.NET Core MVC.

dotnet new webapi crea una nueva aplicación ASP.NET Core Web API.

Para saber todas las plantillas que tienes disponibles, ejecuta:

dotnet new --list

dotnet new -l sería la forma abreviada.

Para indicar el nombre del proyecto:

dotnet new console --name Nombre

dotnet new console -n Nombre

Por defecto, crea el nuevo proyecto en el directorio actual. Para indicar un directorio distinto:

dotnet new console --name Nombre --output Directorio

dotnet new console -n Nombre -o Directorio

Compilar un Proyecto

Para compilar el proyecto actual:

dotnet build

Si necesitas indicar el directorio del proyecto a compilar:

dotnet build Directorio

También puedes indicar el proyecto:

dotnet build Directorio/Proyecto.csproj

Por defecto, se compilará en modo depuración, que es lo normal en desarrollo. Es lo mismo que hacer:

dotnet build --configuration Debug

dotnet build -c Debug

Pero para ponerlo en producción debes indicarlo:

dotnet build -c Release

Para indicar el directorio de salida de los archivos compilados:

dotnet build --output Directorio

dotnet build -o Directorio

Y para indicar el framework de .NET Core a usar:

dotnet build --framework net6.0

Para saber qué versiones tienes instaladas del .NET Core y si están actualizadas:

dotnet sdk check

Si necesitaras hacer ajustes más finos, tienes acceso al MSBuild mediante:

dotnet msbuild -p:Configuration=Debug;TargetFrameworkVersion=v3.5

Por último, en caso de que quieras limpiar una compilación anterior debes ejecutar:

dotnet clean

Publicar un Proyecto

Consiste en crear una versión de la aplicación que pueda se enviada a otra persona:

dotnet publish Proyecto --configuracion Release --output Directorio

dotnet publish Proyecto -c Release -o Directorio sería su versión abreviada.

dotnet publish -c Release -o Directorio si ya estamos dentro de la carpeta del proyecto.

dotnet publish -c Debug -o Directorio para publicar una versión que permita ser depurada.

dotnet publish si no se indica configuración, por defecto, será una versión de depuración.

También podemos indicar el framework:

dotnet publish -c Release --framework net6.0

dotnet publish -c Release -f net6.0 es su versión abreviada.

Agrupar Varios Proyectos en una Solución

Crea una nueva solución, que es la forma de agrupar y gestionar varios proyectos:

dotnet new sln -n Solucion

Agrega uno o varios proyectos existentes a la solución:

dotnet sln add Proyecto1

dotnet sln add Proyecto2

dotnet sln add Proyecto3

En caso de tener varias soluciones, puedes indicar la solución a la que quieres agregar el proyecto:

dotnet sln Solucion add Proyecto

También puedes excluir algún proyecto de la solución:

dotnet sln remove Proyecto1

Para obtener la lista de proyectos de una solución:

dotnet sln list

Para compilar todos los proyectos de una solución:

dotnet build Solucion.sln

Referencias Entre Proyectos

Para que un proyecto haga referencia a otro:

dotnet add Proyecto1 reference Proyecto2

que agrega el Proyecto2 dentro del Proyecto1.

Si estás ya dentro de la carpeta del Proyecto1, tendrás que indicarlo mediante una ruta relativa:

dotnet add reference ../Proyecto2

Para quitar una referencia:

dotnet remove Proyecto1 reference Proyecto2

Si estás dentro de la carpeta del Proyecto1, no hace falta indicarlo:

dotnet remove reference Proyecto2

Y para listar las referencias que tiene un proyecto:

dotnet list Proyecto reference

Si estás dentro de la carpeta del Proyecto, no hace falta indicarlo:

dotnet list reference

Paquetes NuGet

Paquetes NuGet de un Proyecto

Agregar un nuevo paquete al proyecto:

dotnet add Proyecto package Paquete

dotnet add package Paquete si ya estás dentro de la carpeta del proyecto.

Quitar un paquete existente del proyecto:

dotnet remove Proyecto package Paquete

dotnet remove package Paquete si ya estás dentro de la carpeta del proyecto.

Y para listar los paquetes de un proyecto:

dotnet list Proyecto package

dotnet list package si ya estás dentro de la carpeta del proyecto.

También puedes instalar todos los paquetes de los que depende un proyecto con:

dotnet restore

Gestionar Orígenes de los Paquetes NuGet

Agregar una ruta o URL como nuevo origen de paquetes:

dotnet nuget add source Ruta --name Origen

dotnet nuget add source Ruta -n Origen --username Usuario --password Contraseña para indicar las credenciales de acceso al origen.

dotnet nuget add source Ruta -n Origen -u Usuario -p Contraseña es su forma abreviada.

Para actualizar una ruta o URL de un origen existente de paquetes:

dotnet nuget update source Origen --source Ruta

dotnet nuget update source Origen -s Ruta es su forma abreviada.

Para eliminar un origen existente de paquetes:

dotnet nuget remove source Origen

Para obtener la lista de orígenes configurados.

dotnet nuget list source

Para habilitar y deshabilitar orígenes de paquetes:

dotnet nuget enable source Origen

dotnet nuget disable source Origen

Gestionar la Caché Local de Paquetes

dotnet nuget locals all --list muestra información de la caché local de paquetes.

dotnet nuget locals all --clear limpia la caché local de paquetes.

Crear un Paquete NuGet

Para crear un nuevo paquete NuGet (extensión .nupkg):

dotnet pack Proyecto

dotnet pack si ya estamos dentro de la carpeta del proyecto.

dotnet pack Proyecto --output Directorio para indicar el directorio donde se generará el paquete.

Gestionar Paquetes NuGet de un Origen

Para enviar un paquete al origen por defecto.

dotnet nuget push Proyecto.nupkg

Para indicar un origen concreto:

dotnet nuget push Proyecto.nupkg --source Origen

dotnet nuget push Proyecto.nupkg -s Origen es su versión abreviada.

También se puede indicar el API Key del paquete:

dotnet nuget push Proyecto.nupkg --api-key 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a

dotnet nuget push Proyecto.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a es su versión abreviada.

Para eliminar un paquete, hay que indicar su nombre y su versión:

dotnet nuget delete Proyecto 1.0

dotnet nuget delete Proyecto 1.0 --source Origen para indicar el origen.

dotnet nuget delete Proyecto 1.0 -s Origen es su versión abreviada.

Entity Framework

Instalación

Antes que nada, hay que instalar la herramienta de Entity Framework:

dotnet tool install --global dotnet-ef

Si necesitas actualizar la herramienta, sería:

dotnet tool update --global dotnet-ef

También vas a necesitar el paquete con el diseñador:

dotnet add package Microsoft.EntityFrameworkCore.Design

Si todo ha ido bien, podrás comprobarlo ejecutando:

dotnet ef

que debe mostrar información sobre la herramienta.

Migraciones

Para crear una nueva migración, con los últimos cambios:

dotnet ef migrations add Migración

Si tienes que eliminar una migración:

dotnet ef migrations remove Migración

Y para listar las migraciones existentes:

dotnet ef migrations list

Muy útil también es poder ver los comandos SQL que lanzará una migración:

dotnet ef migrations script

Gestionar Base de Datos

Para crear la base de datos y/o lanzar las migraciones pendientes:

dotnet ef database update

Para eliminar una base de datos:

dotnet ef database drop

Gestionar Contextos

Para obtener información del contexto:

dotnet ef dbcontext info

Para obtener la lista de los tipos de contextos:

dotnet ef dbcontext list

Para crear el andamiaje de un contexto:

dotnet ef dbcontext scaffold

Para generar el SQL de un contexto:

dotnet ef dbcontext script

Tests

Para lanzar los tests (unitarios, integración, etc.) que haya programados:

dotnet test Proyecto lanza los tests de un proyecto.

dotnet test Solución lanza todos los tests de todos los proyectos de la solución.

dotnet test Directorio lanza todos los tests que haya en las clases de un directorio.

dotnet test Aplicacion.dll lanza todos los tests que haya incluidos en la aplicación.

dotnet test lanzar los test según la carpeta donde se encuentre.

Para enviar el resultado de los tests a un archivo log:

dotnet test --diag Archivo.log

dotnet test -d Archivo.log es su versión abreviada.

Si necesitas depurar algún test, pones los puntos de interrupción en el código y lanzas:

dotnet test --configuration Debug

dotnet test -c Debug

Y para listas los tests que hay definidos:

dotnet test --list-tests

Ejecutar Aplicaciones

Para ejecutar una aplicación desarrollada en .NET se usa:

dotnet Aplicacion.dll

Si tienes el código fuente, entra en la carpeta de su proyecto y ejecuta:

dotnet run

Si quieres indicar la configuración con la que queremos ejecutarlo:

dotnet run --configuration Debug para la versión en desarrollo, que permite ser depurada.

dotnet run --configuracion Release para la versión en producción.

dotnet run -c Debug sería su versión abreviada.

Para indicar la carpeta del proyecto:

dotnet run --project Proyecto

Y para indicar el framework:

dotnet run --framework net6.0

dotnet run -f net6.0 sería su versión abreviada.

Importante, para pasar argumentos a la aplicación, hay que separarlos con dos guiones:

dotnet run -- argumento1 argumento2 argumento3

Certificados HTTPS

Solo en Windows, para indicar que la aplicación confíe en los certificados HTTPS de desarrollo (autofirmados) de la máquina:

dotnet dev-certs https --trust

Información

dotnet --version para obtener la versión de dotnet instalada.

dotnet --information para obtener información extendida.

dotnet --list-runtimes para ver la lista de versiones montadas.

dotnet --list-sdks para ver la lista de SDKs montados.

¿Y Tú, Qué Opinas?

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *