Una aplicación de ASP.NET Core no es más que una aplicación de consola que ejecuta un servidor web en el método Main. En este artículo describo los tipos de proyectos disponibles con el SDK de dotnet.

Todo comienza con el comando dotnet new por lo que es importante saber cuales son las opciones disponibles para el mismo . Invocaremos la ayuda sobre mediante la instrucción dotnet new --help en la consola o terminal. La salida se muestra en lo siguiente

Captura de pantalla del comando dotnet new --help

Hay varias observaciones para esta salida:

  • Las opciones tienen una forma corta precedida por un guion medio -h y una forma larga precedida por dos guiones medios --help. Es decir, es equivalente dotnet new --help a dotnet new -h.

  • Las opciones que me parecen importantes son : --name Permite especificar el nombre del proyecto --output Permite especifica la ubicación de los archivos de salida --install Permite extender el sistema de plantillas. El escenario me viene a la mente que se pueden crear plantillas personalizadas con las políticas establecidas de tal forma que permitan reutilizar código. --type permite mostrar los diferentes tipos de plantillas: project, items y others --language Permite elegir el lenguaje de programación para algunas plantillas puede ser C# , VB o F#.

  • Cada plantilla de proyecto contiene un nombre corto, por ejemplo, mvc, web , webapp o webapi y este nombre corto se usa como argumento para el comando dotnet new <nombre_corto>.

  • Se pueden crear proyectos de las plantillas mvc, web y webapi usando C# y F#.

Los proyectos web de ASP.NET Core

Podemos clasificar los tipos de proyectos de ASP.NET Core en las siguientes categorías:

  • Aplicaciones web tradicionales basadas en MVC
  • Aplicaciones web tradicionales basadas en Razor Pages,
  • Aplicaciones una sola página (SPA ). Estas requieren tener instalado Node.js

Veamos los tipos de proyectos disponibles y como crear un proyecto. Puedes ejecutar el comando dotnet new --type project para revisar las plantillas de proyecto que tienes instaladas: En este caso mostramos solo las de tipo web, observa que especifican los lenguajes de programación para los que las plantillas de proyecto están disponibles.

Plantillas                                        Nombre corto       Idioma            Etiquetas
----------------------------------------------------------------------------------------------------------------------------
ASP.NET Core Web App (Model-View-Controller)      mvc                [C#], F#          Web/MVC
ASP.NET Core Web App                              webapp             [C#]              Web/MVC/Razor Pages
ASP.NET Core with Angular                         angular            [C#]              Web/MVC/SPA
ASP.NET Core with React.js                        react              [C#]              Web/MVC/SPA
ASP.NET Core with React.js and Redux              reactredux         [C#]              Web/MVC/SPA
Razor Class Library                               razorclasslib      [C#]              Web/Razor/Library/Razor Class Library
ASP.NET Core Web API                              webapi             [C#], F#          Web/WebAPI

En la tabla siguiente mostramos ejemplos de como crear proyectos con la linea de comandos usamos como ejemplo el proyecto MVC. Cada tipo de plantilla tiene diferentes opciones que puedes ver con el comando.

dotnet new <nombre-corto> --help
Comando Descripción  
dotnet new mvc --help Obtiene las opciones disponibles para este tipo de plantilla  
dotnet new mvc Crea un proyecto tipo MVC en la capeta actual. El nombre del proyecto predeterminado es igual al nombre de la carpeta desde donde se ejecuta el comando dotnet new  
dotnet new mvc -o HolaMvc Crea un proyecto tipo MVC en la capeta HolaMvc si la carpeta no existe esta sera creada  
dotnet new mvc -o HolaMvc --name MiProyecto Crea un proyecto MVC en la carpeta HolaMvc y con nombre MiProyecto  
dotnet new mvc -lang F# -o HelloMvcFSharp Crea un proyecto MVC en la carpeta HolaMvc y con nombre MiProyecto }

Recomendamos que por lo menos uses el argumento -o para especificar la carpeta donde se colocara el proyecto de salida. Puedes cambiar el nombre corto por el de otro tipo de proyecto y utilizar los ejemplos anteriores con otro tipo de proyecto.

Visual Studio

Si usas Visual Studio puedes crear un nuevo proyecto mediante Archivo> Nuevo Proyecto > Web > Aplicación Web ASP.NET Core.

Nuevo Proyecto ASP.NET Core