¿Por qué deberíamos estar preparándonos para .NET 6 cuando .NET 5 salió hace unos pocos meses? ¿Por qué debemos estar preparados cuando todavía no se anunció ninguna versión preview?
La realidad es que .NET 5 tiene los días contados, ¿por qué? Porque no es un release LTS (Soporte de largo plazo). Y advienen quién si lo será, .NET 6.
A lo largo del 2021 voy a estar escribiendo una serie de artículos, de la cual éste es el primero, llamada “Preparándonos para .NET 6” donde les contaré las novedades y les daré algunos consejos para estar listos ante la verdadera apuesta de Microsoft.

.NET 6 Versión Alpha
Los curiosos como yo estamos acostumbrados a esperar los anuncios del Blog de .NET, donde no solo anuncian los nuevos release de .NET sino que también las versiones previews.
Pero hasta hace poco llegue a un nuevo nivel de curiosidad donde ya no solo espero las versiones previews, ahora espero las versiones alpha. Estas versiones no las anuncian en sus blogs sino que estas versiones las publican en GitHub.
Un dato curioso: La primer versión alpha de .NET 6 fue publicada el 20 Agosto mientras que el primer release de .NET 5 fue lanzado el 10 de Noviembre del año 2020.
Instalando .NET 6 en Enero 2021
En diciembre del 2020 me di cuenta que podía instalarme .NET 6 y me sentí súper futurista. Me agarró esta curiosidad cuando vi por primera vez el siguiente error.

Para instalar .NET 6 versión Alpha, debemos ir al repositorio dotnet/installer y veremos una tabla similar a la siguiente:

En mi caso, utilizo Windows, hago click sobre el link que esta subrayado con rojo y esto va a descargar el instalador, el siguiente paso será ejecutarlo.


Por último, para verificar que la instalación se haya hecho exitosamente, ejecutamos el siguiente comando que mostrará la versión instalada:

Proyecto Web con .NET 6
Ahora que tenemos instalado el SDK de .NET 6 podemos crear nuestra primera WebApi.
Advertencia: Como estamos utilizando una versión alpha de .NET no es tan sencillo hacer que el Visual Studio ejecute un proyecto web. Pero no se preocupen que lo resolveremos.
Para crear nuestro proyecto web vamos a crear una carpeta y vamos abrir una consola ahí mismo para ejecutar los siguientes comandos
- dotnet new mvc
- dotnet run
Primero vamos a ejecutar dotnet new mvc para crear un proyecto web de Model View Controller. En el archivo .csproj vamos a ver que ya esta configurado para compilar con .NET 6.

Y Segundo, ejecutamos el comando dotnet run para que el proyecto se compile y se ejecute en https://localhost:5001.

Ahora si, vamos a poder abrir el proyecto en Visual Studio y poder depurarlo desde el IDE.

Paquetes Nuget Versión Alpha
Ya tenemos nuestro proyecto web y lo podemos ejecutar desde el Visual Studio. Así que ahora podemos comenzar a implementar funcionalidades.
Muchas veces para agregar una nueva funcionalidad como HealthChecks, Logging, Caching, necesitamos instalar las librerías de Microsoft por separado. Si las instalamos desde Nuget.org vamos a encontrar solamente las de .NET 5 pero la idea es poder utilizar las de .NET 6. Así que ahora veremos como instalar los paquetes Nuget de las librerías de nuestro framework versión alpha.
En nuestro proyecto vamos a la pantalla de Administrar Paquetes Nuget.

Hacemos click sobre el engranaje, luego sobre el botón de agregar y vamos a poder indicar un nuevo origen de paquetes.

Como nombre le podemos poner el que deseemos, yo le voy a poner “dotnet 6” y como origen, el siguiente link: https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet6/nuget/v3/index.json

Ahora en el Administrador de Paquetes seleccionamos “Incluir versión preliminar” y nos van a aparecer todos los paquetes de .NET 6 que podremos usar en nuestro proyecto.

Conclusión
En este articulo vimos como empezar con .NET 6 antes que nadie. Ahora podemos comenzar a crear proyectos con esta versión alpha.
En los siguientes artículos de esta serie estaremos preparándonos para .NET 6 y poder empezar a utilizarlos en proyectos empresariales apenas salga esta versión LTS.
Alerta de Spoiler
En el próximo articulo de la serie estaremos hablando sobre la característica Nulleable Reference y como afectara a nuestra manera de programar habitual.