Menú de navegaciónMenú
Categorías

La mejor forma de Aprender Programación online y en español www.campusmvp.es

?id=e2a4cf7a-5838-4b46-a156-13ff9233dc8f

Fundamentos: Cómo crear tu primera aplicación con .NET Core y C#

En este artículo vamos a repasar los pasos básicos para crear una sencilla aplicación con .NET Core para que puedas hacer una primera toma de contacto y comprobar lo sencillo que es empezar.

Para crear aplicaciones para .NET realmente tan solo necesitamos disponer de un compilador. Por ello, bastaría con descargarse desde Internet el .NET SDK (el Kit de desarrollo para .NET), que es gratuito y dispone de esos compiladores. Con ellos y un simple editor de texto, como el bloc de notas, ya podríamos crear nuestras aplicaciones con .NET.

Vamos a ver cómo se crea y se ejecuta una aplicación usando tan solo la línea de comandos, de modo que puedas hacerlo de manera simple y sin necesidad de herramientas adicionales (ni siquiera un editor). Podrás seguir estos pasos desde Windows, Linux o macOS, y funcionarán exactamente igual, aunque yo los voy a mostrar en Windows.

Al final del artículo se incluye un vídeo para verlo en acción en la práctica.

Antes de nada, asegúrate de tener instalado en tu sistema el SDK de .NET más reciente para tu plataforma (necesitarás permisos de administración para instalarlo):

 

Descargar .NET Core SDK para cada sistema

Si estás en Windows y tienes un Visual Studio 2019 instalado en tu sistema, ya dispones de este SDK y no necesitas instalarlo. Sólo asegúrate de tener todo actualizado a las versiones más recientes.

Al realizar la instalación del SDK de .NET se instalan también las herramientas de línea de comandos necesarias, lo que nos posibilitará llevar a cabo la creación y compilación de nuestras aplicaciones desde la línea de comandos mediante la utilidad dotnet que enseguida veremos.

Por tanto, una vez instalado podremos abrir una línea de comandos y llamar al comando dotnet --version que nos devolverá la versión actual del SDK que estamos utilizando, y sabremos que todo está bien instalado y funcionando:

La versión actual de .NET que estás usando

Por ejemplo, en mi caso estoy usando la versión 3.1.301 de .NET Core. Puedes usar este comando y todos los que veremos a continuación en PowerShell clásico, en PowerShell 7 para Windows, Linux o macOs, y por supuesto en cualquier terminal de Linux o macOs y el resultado será el mismo.

Crear un proyecto de .NET

El primer paso para crear una aplicación .NET es crear el proyecto. Para hacerlo, no es necesario ningún programa especial para crear el código de nuestra aplicación, siendo suficiente con el SDK de .NET y un editor de texto plano, por lo que lo haremos de este modo.

Para crear nuestro proyecto, bastará con realizar una llamada al comando dotnet con el parámetro new, indicando la plantilla que queremos emplear.

Pero, en primer lugar, veamos las plantillas que tenemos instaladas en nuestro sistema ejecutando dotnet new sin ningún parámetro más, lo que nos devolverá algo similar a lo que se ve a continuación:

Lista de plantillas disponibles

Si te fijas, podrás comprobar que tienes plantillas disponibles para crear multitud de tipos de proyectos, desde proyectos ASP.NET para desarrollo web, a proyectos de consola o aplicaciones WinForms entre otras muchas posibilidades.

Para continuar con nuestro ejemplo, vamos a generar un proyecto de tipo consola y veremos qué es lo que nos crea dentro de la carpeta del proyecto.

Según la plantilla que vayamos a utilizar, existen varias opciones y parámetros que se pueden definir al crear un proyecto, que dependen en cierto modo del proyecto en sí. Dichos parámetros pueden ser, desde cosas comunes como la carpeta del proyecto, hasta parámetros muy particulares como podría ser el tipo de autenticación a utilizar si se trata de un proyecto Web. No obstante, si no se indica nada, el sistema les dará los valores por defecto establecidos.

Si creamos un proyecto con valores por defecto, bastará llamar a dotnet new [NombrePlantilla] para crearlo, utilizando el nombre corto de la plantilla que nos interese, sacado de la lista anterior.

Así que, muévete en tu terminal a alguna carpeta vacía de tu disco duro y escribe:

dotnet new console

En la siguiente imagen se puede ver cómo se crea el proyecto y los archivos y carpetas que contiene:

Nota: En Linux o macOS el comando para listar el contenido de la carpeta sería ls y no dir.

Esta plantilla de proyecto de consola, crea 2 ficheros y una carpeta:

  • AppConsole.csproj: archivo con la definición del proyecto.
  • Program.cs: fichero de texto con código C# en su interior. Contiene el método de entrada en el programa, y por defecto lo único que hace es imprimir por pantalla el texto: "Hello World!", un clásico de toda la vida 😉
  • obj: carpeta con los objetos de compilación. Es una carpeta que utiliza .NET para llevar a cabo la compilación del programa.

No obstante, podríamos haber añadido parámetros que especificasen opciones a tener en cuenta a la hora de crear el proyecto. En el ejemplo anterior hemos creado la carpeta del proyecto y desde dentro hemos ejecutado el comando. El sistema ha tomado como uno de los valores por defecto el nombre del proyecto, que lo ha hecho coincidir con la carpeta en la que nos encontramos. Sin embargo, podríamos haber modificado este comportamiento mediante el parámetro -o u --output (son equivalentes), de forma que dotnet crearía la carpeta con el nombre indicado a continuación de éste, y usaría ese nombre tanto para la carpeta como para el proyecto.

Ejecutando nuestro proyecto

De forma similar a la creación del proyecto tenemos disponible la opción de compilar y/o ejecutar nuestros proyectos con ayuda de dotnet.

En el caso de nuestra aplicación de consola, tenemos dos opciones de ejecutarla.

  1. dotnet run desde la carpeta del proyecto o dotnet run --project <ruta_al_csproj>, que realiza la compilación y ejecución inmediata del proyecto.

    A continuación puedes ver la ejecución de ambos modos:

    El programa Hola Mundo ejecutado desde fuera de la carpeta y desde dentro, más sencillo

  2. dotnet build desde la carpeta del proyecto o dotnet build <ruta_al_csproj>: únicamente compila el proyecto. Posteriormente podríamos ejecutar el fichero compilado o llevarlo a otra computadora para ejecutarlo.

    En la siguiente imagen puedes ver cómo sería el resultado al compilar y luego ejecutar el .exe directamente desde la carpeta en la que se genera:

    El proyecto compilado a un ejecutable y ejecutado con el .exe

¡Ya has creado y ejecutado tu primera app de .NET Core!

Eso no es todo

La idea de este artículo era tan solo "romper el hielo" y ver cómo crear la aplicación más simple posible con .NET Core, desde la línea de comandos. Pero lógicamente no es lo único que se puede hacer, y a medida que aprendas más sobre la plataforma será necesario que utilices el comando dotnet para más cosas.

Alguna de las principales funciones incluidas de serie que se pueden llevar a cabo con dotnet son:

Comando Uso
new Permite crear un nuevo proyecto
restore Lleva a cabo la restauración de las dependencias
build Compila el proyecto
publish Copia a una carpeta el resultado de la compilación del proyecto, lista para distribuir
run Compila y ejecuta el proyecto
test Ejecuta las pruebas unitarias especificadas en el proyecto
pack Crea un paquete NuGet para poder publicarlo
nuget Permite gestionar la publicación del paquete NuGet en un servidor
clean Limpia las carpetas de compilación del proyecto
add Permite añadir paquetes NuGet y referencias al proyecto
remove Permite eliminar paquetes NuGet y referencias al proyecto

 

Del mismo modo existen comandos que tienen más niveles de profundidad, como puede ser nuget, al que tendríamos que indicar si queremos realizar una inserción en el servidor o un borrado. Lo mismo ocurre con new, que además de crear proyectos nos permite controlar las plantillas: añadirlas y eliminarlas, etc...

La herramienta dotnet puede ampliarse dotándola de mayor funcionalidad mediante el modelo de extensibilidad del que dispone. Dicho de otra forma, es posible aumentar la cantidad de comandos disponibles en dotnet bien, a nivel global mediante la adición de comandos en el sistema, o bien a nivel de proyecto mediante paquetes NuGet. Por ejemplo, para llevar a cabo la gestión de Entity Framework Core o EFCore, se nos añade el parámetro ef, que nos permite hacer cosas como dotnet ef migrations list, que muestra la lista de migraciones de Entity Framework (pero esto es un tema específico que no viene a cuento ahora).

Vídeo práctico

A continuación te dejo un vídeo práctico en el que te explico cómo funciona el comando dotnet y vemos en acción todas las cosas que he comentado por escrito en el artículo:

Si te interesa la plataforma .NET y el lenguaje C#, tenemos el curso que necesitas: Desarrollo con la plataforma .NET Core 3 y C# 8.

Rubén Rubio Rubén lleva muchos años trabajando como desarrollador de software con diversas tecnologías y certificado por Microsoft desde el año 2003 en desarrollo con .NET. Ha trabajado como analista, desarrollador y responsable de TI en empresas de diferentes sectores. Actualmente trabaja como consultor y desarrollador independiente, ofreciendo sus servicios a empresas e instituciones, siendo también autor y docente en campusMVP. Ver todos los posts de Rubén Rubio
Archivado en: Lenguajes y plataformas

¿Te ha gustado este post?
Pues espera a ver nuestro boletín mensual...

Suscríbete a la newsletter

La mejor formación online para desarrolladores como tú

Agregar comentario

Los datos anteriores se utilizarán exclusivamente para permitirte hacer el comentario y, si lo seleccionas, notificarte de nuevos comentarios en este artículo, pero no se procesarán ni se utilizarán para ningún otro propósito. Lee nuestra política de privacidad.