Pages

Tuesday, June 6, 2017

Creacion de Proyectos .NET usando el .NET CLI

El .Net CLI o Interfaz de Linea de comandos. Son un grupo de comandos multiplataforma empaquetados como una herramienta que vien como parte de la instalacion de .NET Core.

Esto logra que tengamos el mismo conjunto de herramientas en distintos OS (Windows, Linux, IOS) y tambien nos permite programar mas facilmente an la plataforma .Net cuando no tenemos Visual Studio disponible.
Osea que podemos codificar usando cualquier IDE liviano, como Visual Studio Code, y lograr tareas que llegan a ser complicadas cuando se hacen a mano, de manera automatica.

Este conjunto de comandos nos permiten crear la base para nuestras aplicaciones basados en plantillas disponibles, bajar las dependencias del proyecto, adicionar o quitar dependencias, compilar y correr nuestras aplicaciones, etc.. 

En este Post vamos a usar Visual Studio Code para poder mostrarles facilmente los archivos creados por el CLI.
En caso de que no estes familiarizado con Visual Studio Code, necesitas crear un folder de trabajo que es donde armaras tu aplicacion, y ese folder tienes que abrirlo desde VS Code como el folder principal, esto se hace asi:
- Abre  VS Code
- Ve a File > Open Folder



Luego, seleccionas tu folder y haz click en 'Open Folder'


Una vez abierto el folder, para mostrar la terminal de consola presiona 'ctrl + `'
Y esta se abrira en la parte inferior de la ventana de trabajo en VS Code:



Vamos a testear 3 tipo de aplicaciones y al final veremos una lista de algunos de los comandos mas usados del .NET CLI.

Antes de cada comando debemos poner 'dotnet ', que es nombre del ejecutable de la herramienta.

El primer comando que debes conocer es el 'new', usandolo asi:

dotnet new

Podemos ver todas las plantillas disponibles pra usar con este comando 'new':

Templates                 Short Name      Language      Tags
----------------------------------------------------------------------
Console Application       console         [C#], F#      Common/Console
Class library             classlib        [C#], F#      Common/Library
Unit Test Project         mstest          [C#], F#      Test/MSTest
xUnit Test Project        xunit           [C#], F#      Test/xUnit
ASP.NET Core Empty        web             [C#]          Web/Empty
ASP.NET Core Web App      mvc             [C#], F#      Web/MVC
ASP.NET Core Web API      webapi          [C#]          Web/WebAPI
Solution File             sln                           Solution

Para adicionar mas plantillas, por ejemplo plantillas para aplicaciones SPA (Single Page Apps) podemos usar:

dotnet new --install Microsoft.AspNetCore.SpaTemplates::*

Y nuestra lista de plantillas incluira:

Templates                                Short Name  Language    Tags
------------------------------------------------------------------------------
MVC ASP.NET Core with Angular            angular     [C#]        Web/MVC/SPA
MVC ASP.NET Core with Aurelia            aurelia     [C#]        Web/MVC/SPA
MVC ASP.NET Core with Knockout.js        knockout    [C#]        Web/MVC/SPA
MVC ASP.NET Core with React.js           react       [C#]        Web/MVC/SPA
MVC ASP.NET Core with React.js and Redux reactredux  [C#]        Web/MVC/SPA
MVC ASP.NET Core with Vue.js             vue         [C#]        Web/MVC/SPA

Estas plantillas son usadas mediante su 'Short Name' despues del comando 'dotnet new', Adicionalmente algunas de estas plantillas tienen comandos adicionales que nos eprmiten personalizarlas, por ejemplo para usar el .Net Core en vez del full .Net Framework podemos usar:

> dotnet new mvc --auth None --framework netcoreapp1.1

Ahora, veamos algunos ejemplos de creacion de aplicaciones:

App de Consola

Abre un folder en VS Code, Luego abre la terminal de consola presionando  'ctrl + `',  luego introduce:

>dotnet new console


Ese comando creara, en el folder actual, un archivo de proyecto y un archivo principal 'Class1.cs'
Ahora, para bajar tus dependencias, usa:

>dotnet restore


Ahora tenemos nuestro programa 'hola mundo' listo para correr, Y podemos a partir de ahi modificarlo a nuestro gusto.


Para correr la aplicacion:

>dotnet run


Libreria DLL C#

Abre un folder en VS Code, Luego abre la terminal de consola presionando  'ctrl + `',  luego introduce:

>dotnet new classlib

Esto creara tu archivo de proyecto y un archivo program.cs que es la primera clase de tu libreria, y estara vacio por el momento:



Seguidamente, bajamos nuestras dependencias usando:

>dotnet restore

Asi que ahora tenemos el cascaron vacio de lo que sera nuestra libreria, con todas las dependencias bajadas.


Compilamos la aplicacion:

>dotnet build


Y obtenemos nuestro dll creado.

Aplicacion Asp.Net MVC

Abre un folder en VS Code, Luego abre la terminal de consola presionando  'ctrl + `',  luego introduce:

>dotnet new mvc

Este comando creara una aplicacion MVC basada en la plantilla, la cual incluye un controlador de ejemplo y algunas vistas para poder empezar a trabajar con ellas.



Seguidamente debemos bajar las dependencias, usando:

>dotnet restore


Ahora, corramos nuestra Aplicacion:

>dotnet run


Para ver nuestra aplicacion inicial funcionando abre el url especificado en tu navegador:


Asi que ahi lo tienes, este es solo un ejemplo del uso del .Net CLI, Puedes preparar tu trabajo para nuevos proyectos  y construir a partir de eso usando la linea de comandos y tu IDE favorito.
Hay muchos ams comandos, por ejemplo para adicionar o quitar paquetes NuGet, Aqui esta una pequeña lista a modo de guia:

Lista de comandos 
(Recuerda usar de prefijo 'dotnet ...'):

Comandos Basicos

new -> Crea un nuevo proyecto, archivo de configuracion o solucion basada en una plantilla especifica.

restore -> Leera las dependencias del proyecto y las bajara.

build -> Build tu solucion.

publish -> Empaca la aplicacion y sus dependencias en un folder para su deploy a un hosting.

run -> Compila y corre tu aplicacion.

test ->   Ejecuta unit tests usando el .NET test driver.

vstest ->  Corre los tests de los archivos especificados.

pack -> Compila el proyecto y crea paquetes Nuget. El resultado de este comando es un paquete Nuget.

migrate -> Migra un projecto Preview 2 .NET Core project  a uno .NET Core SDK 1.0.

clean -> Limpia el output de un proyecto.

sln -> Modifica un archivo de Solucion .NET Core (puedes adicionar o remover proyectos).

Comados para modificar Proyectos

add package -> Adiciona referencias de paquetes a un archivo de proyecto (dotnet add [<PROJECT>] package <PACKAGE_NAME>)

add reference -> Adiciona referencias proyecto-a-proyecto (P2P).

remove package ->  Remueve referencias de paquetes de un archivo de proyecto (dotnet remove [<PROJECT>] package <PACKAGE_NAME>)

remove reference -> Remueve referencias proyecto-a-proyecto.

list reference -> Lista referencias proyecto-a-proyecto. (dotnet list [<PROJECT>] reference)

Para mas informacion sobre los comandos CLI por favor mira:


Y eso, amigo mio, es todo!

No comments:

Post a Comment