La interfaz de linea de comandos de .NET (CLI) es un conjunto de herramientas cross-platfrom que nos permiten desarrollar, construir, ejecutar y desplegar aplicaciones .NET. Básicamente contiene lo mínimo necesario para poder construir este tipo de aplicaciones independientemente del entorno de desarrollo (IDE) que estemos utilizando.
Conocer los comandos básicos del CLI de .NET no solo es útil en el momento de desarrollo sino también para resolver problemas relacionados en el despliegue de aplicaciones en distintos tipos de ambientes.
En este artículo te mostraré algunas de los comandos mas elementales que, a mi muy personal punto de vista, cualquier desarrollador .NET debe conocer. No esta demás comentar que todos estos comandos deben ser ejecutados propiamente en la linea de comandos del sistema operativo en el que te encuentres trabajando. Los comandos funcionan por igual independientemente del sistema operativo, recuerda que .NET tiene soporte para Windows, Linux y MacOs.
Si deseas ir a un ejemplo práctico de como crear proyectos y soluciones a través del CLI de .NET lo puedes encontrár en este blog o en el canal de youtube.
Recibe un cupon de $100 dólares para probar Linode(Akamai)
Primer acercamiento a el CLI de .NET
Para comenzar con el CLI de .NET, ejecuta el comando dotnet en a terminal de tu sistema operativo. Se desplegaran las opciones ma esenciales que dotnet nos ofrece y a partir de ellas podremos conocer mas comandos.
dotnet –info
Muestra la versión y características principales del sistema operativo host, la versión por default de .NET, los SDK y los Runtimes instalados.
dotnet –list-sdks
Muestra solamente la lista de sdks instalados en el equipo.
dotnet –list-runtimes
Muestra solamente la lista de runtimes instalados en el equipo.
dotnet –version
Muestra la versión por default de .NET que tienes instalada en tu equipo.
dotnet –help
El comando –help es el punto de entrada que nos permitirá conocer los demás comandos para la creación, ejecución y despliegue de los diferentes tipos de proyectos que tenemos disponibles en .NET.
A partir de aquí explicaremos los comandos que nos permiten la creación de soluciones, proyectos, compilación e inclusive la instalación de nuevas plantillas de proyectos.
El comando new
En general este comando nos permite trabajar sobre distintos tipos de archivos, proyectos y soluciones. Al ejecutarlo sin ningún otro parámetro adicional nos muestra una sencilla guía de uso. Entre la información desplegada están las plantillas de proyectos más comunes.
dotnet new
dotnet new –list
El parámetro –list nos muestra la lista de todos los template de proyectos instalados en el sistema.
En la imagen superior puedes ver una captura de pantalla de algunos de los Templates instalados en mi equipo. Básicamente estos templates nos permitirán crear distintos tipos de proyectos y archivos necesarios para nuestras aplicaciones.
Supongamos que deseas crear una aplicación de consola, para ello necesitaras del template “console”
Para crear la aplicación , podrías crear la carpeta con el nombre de tu proyecto, posicionarte dentro de esa carpeta y ejecutar dotnet new console . Por ejemplo :
mkdir my app
cd my app
dotnet new console
Observa que dentro de la carpeta del proyecto se creo un archivo con extension .csproj con el mismo nombre de la carpeta que contiene tu proyecto, en este caso myapp.
Una forma de crear el proyecto y su carpeta en un solo paso es adicionando el parámetro -n seguido del nombre del proyecto :
dotnet new console -n myapp2.
Instalando nuevos templates con el comando new
Como seguramente ya has podido darte cuenta, al instalar .NE contamos de manera predeterminada con los templates mas comunes para desarrollar aplicaciones : aplicaciones de consola, mvc,razor pages, webapi , windows forms, etc.
Sin embargo tambien es posible instalar templates de otros tipos de proyectos. Supongamos que deseas contar con las plantillas necesarias para crear proyectos de Lambdas function de AWS. Para hacer la busqueda de nuevos templates, el comando new es de gran utilidad. Siguiendo con el ejemplo de los templates para lambda function podríamos hacer algo como lo siguiente
dotnet new lambda –search
Lo anterior te mostrará toda la lista de templates que coincidan con el parametro de búsqueda, entre ellas encontraras las desarrolladas con AWS con el Package Id Amazon.Lambda.Templates.
Para instalar el Package de AWS para los templates de Lambda bastara usar new de nueva cuenta junto con el parametro –install y el Package Id:
dotnet new –install Amazon.Lambda.Templates
Proyectos y Soluciones
En lineas anteriores te describia como crear proyectos, ¿pero si quisieramos crear soluciones para agrupar los proyectos?. Esto tambien lo podemos hacer de forma muy sencilla desde la linea de comandos
Supongamos el siguiente ejemplo en donde dentro de la carpeta Company.Invoices tenemos otras 3 carpetas que continen a su vez la estructura de 3 distintos tipos de proyectos.
Por supuesto, lo esperado de esto es que en cada carpeta se encuentre el archivo .csproj del proyecto en cuestion.
En este caso, en particular lo primero que tendriamos que hacer es crear el archivo con extension .sln dentro de la carpeta raiz llamada Company.Invoices. Para ello posicionandote dentro de dicha carpeta deberás teclear lo siguiente :
dotnet new sln
Al hacer esto, se creará el archivo Company.invoices.sln:
Para agregar los proyectos a la solucion podemos utilizar el comando sln seguido del parametro add, junto con la referencia al archivo .csproj del proyecto que queremos agregar a la solución. Por ejemplo si quisieramos agregar el proyecto Tests a la solución tecleariamos lo siguiente :
dotnet sln add Company.Invoices.Tests/Company.Invoices.Tests.csproj
Agregar referencias entre proyectos
Supongamos que el proyecto Company.Invoices.Api require de las clases que se encuentra en el proyecto de Company.Invoices.Entities. Para agregar la referencia del proyecto de Entities en el Proyecto del Api podemos posicionarnos en la carpeta raiz Company.Invoices.Api y teclear lo siguiente :
dotnet add Company.Invoices.Api/Company.Invoices.Api.csproj reference Company.Invoices.Entities/Company.Invoices.Entities.csproj
Compilar proyectos y soluciones
Para compilar de forma individual o por medio de la solución deberas de ejecutar el comando build dentro de la solución o el proyecto que deseas compilar. Siguiendo el ejemplo de solución anterior, estando dentro de la carpeta raiz deberás de teclear dotnet build para que la solución compile todos los proyectos :
dotnet build
Espero que esta guía te sirva para conocer mas acerca de .NET y su CLI. Muchas gracias por visitar este blog.
Si deseas ir a un ejemplo práctico de como crear proyectos y soluciones a través del CLI de .NET lo puedes encontrár en este blog o en el canal de youtube.