.NET 6 se lanza y es una versión LTS, lo que significa que será appropriate complete y activamente durante los próximos 3 años. Si estuvo en pausa esperando el momento adecuado para actualizar a .NET 6, ¡es un buen momento para dar el paso!
Ahora mismo, Hanselman.com y Hanselminutos.com (mi podcast) se ejecutan en alguna versión de .NET 5. Puede verlos visitándolos y desplazándose hasta la parte inferior del pie de página como he agregó un hash de confirmación de git y un número de compilación de Azure DevOps y una ID de compilación a un sitio net de ASP.NET y estoy usando RuntimeInformation.FrameworkDescription para generar la versión de texto sin formato de .NET que estoy usando. Este weblog está en .NET Core 3.0, que es una versión LTS, pero trabajaré con Mark Downie esta semana para moverlo a .NET 6 LTS, ya que él ya tiene su instancia de dasBlog ejecutándose en 6.

OK, vamos a ver lo que está involucrado. Comencemos con mi sitio de podcasts. Tengo el código en GitHub y lo ejecuto localmente con “dotnet run” en la línea de comando tanto en Linux como en Home windows. Puedo ejecutar el “asistente de actualización de dotnet”, que es excelente, pero también me gusta manejar el cambio de palanca a veces para proyectos más pequeños.
Actualizaré mi TargetFramework en mi archivo de proyecto csproj de net5.0 a net6.0 y actualizaré las referencias de paquetes principales de 5.0.0 a 6.0.0. Se compila.
Opcionalmente, también ejecutaré “dotnet desactualizado“, que es una de mis herramientas favoritas. Querrá asegurarse de tener un conjunto de pruebas sólido y no solo hacer esto sin probar.

Veo que algunos de estos son cambios importantes, por lo que puedo hacer una diferenciación de estos paquetes con varias herramientas, pero mi favorito es FuGet.org (¡Gracias Frank!) para poder hacer una diferencia entre la versión alfa de Selenium que estoy usando y el lanzamiento ve que el tipo RemoteLogs ahora se llama Logs.
También actualizaré mi Dockerfile y cambiaré versiones como esta
FROM mcr.microsoft.com/dotnet/sdk:6.0 as construct
y
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS runtime
Confirmaré que estas imágenes se construyen y prueban. También ejecuto mis pruebas opcionalmente dentro de un contenedor, así que está bien.
Algunos de mis sitios usan Azure DevOps y otros usan GitHub Actions. Ambos usan YAML (yay) para administrar su configuración, así que actualizaré mi tarea UseDotNet en Azure DevOps YAML a la versión: “6.0.x”
¡Me comprometeré y comenzaré a construir en la nube!
Adjustments to be dedicated:
(use "git restore --staged <file>..." to unstage)
modified: Dockerfile
modified: azure-pipelines.yml
modified: hanselminutes.core.assessments/SeleniumTests.cs
modified: hanselminutes.core.assessments/hanselminutes.core.assessments.csproj
modified: hanselminutes.core/Startup.cs
modified: hanselminutes.core/hanselminutes-core.csproj$ git commit -m "improve to .web 6"
También confirmaré que mi Azure App Service está configurado en .NET 6, pero esto solo es necesario si NO estoy ejecutando un Docker Container o si NO estoy usando un ejecutable independiente.
¡Ahora repito esto para mi podcast y sitio principal y ahora estoy en .NET 6! El weblog (una actualización más grande) es el siguiente.
Patrocinador: Las API fáciles de usar para desarrolladores de Lob facilitan el envío de una carta, un cheque o una postal con la misma facilidad que un correo electrónico. Diseñe plantillas HTML dinámicas para personalizar el correo y lograr el máximo impacto. ¡Empieza a explorar con Postman!
Acerca de Scott
Scott Hanselman es un ex profesor, ex arquitecto jefe en finanzas, ahora orador, consultor, padre, diabético y empleado de Microsoft. Es un comediante fracasado, un trenzador de maíz y un autor de libros.