.NET 6 is launched and it is a LTS launch which implies it’s going to be totally and actively supported for the following 3 years. When you’ve been paused ready for the precise time to improve to .NET 6, it is a good time to make the transfer!
Proper now, Hanselman.com and Hanselminutes.com (my podcast) are operating on some model of .NET 5. You’ll be able to se by visiting them and scrolling to the very backside within the footer as I’ve added a git commit hash and Azure DevOps Construct Quantity and Construct ID to an ASP.NET web site and I am utilizing RuntimeInformation.FrameworkDescription to output the plain textual content model of .NET I am utilizing. This weblog is on .NET Core 3.0 which is an LTS launch however I will be working with Mark Downie this week to maneuver it to .NET 6 LTS as he is already received his occasion of dasBlog operating on 6!
OK, let’s have a look at what’s concerned. Let’s begin with my podcast web site. I’ve received the code on GitHub and operating regionally with “dotnet run” on the command line in each Linux and Home windows. I can run the “dotnet improve assistant” which is nice, however I additionally wish to drive stick shift generally for smaller initiatives.
I will replace my TargetFramework in my csproj mission file from net5.0 to net6.0 and replace the foremost PackageReferences from 5.0.0 to six.0.0. It compiles.
Optionally, I will additionally run “dotnet outdated” which is one in every of my favourite instruments. You will need to ensure you have a strong take a look at suite and never simply do that with out testing.
I see that a few of these are main adjustments so I can do a diff of those packages with quite a lot of instruments, however my favourite is FuGet.org (Thanks Frank!) so I can do a diff between the alpha model of Selenium I am utilizing and the launched see that the RemoteLogs sort is now referred to as Logs.
I may also replace my Dockerfile and alter variations like this
FROM mcr.microsoft.com/dotnet/sdk:6.0 as construct
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS runtime
I will verify that these photographs construct and take a look at. I additionally run my checks optionally inside a container in order that’s good.
A few of my websites use Azure DevOps and others use GitHub Actions. Each use YAML (yay) to handle their config, so I will replace my UseDotNet job in Azure DevOps YAML to model: “6.0.x”
I will commit and begin constructing within the cloud!
Modifications to be dedicated:
(use "git restore --staged <file>..." to unstage)
$ git commit -m "improve to .internet 6"
I may also verify that my Azure App Service is about to .NET 6, however that is solely wanted if I am NOT operating in a Docker Container or if I am NOT utilizing a self-contained executable.
Now I repeat this for my podcast and foremost web site and I am now on .NET 6! The weblog (a bigger improve) is subsequent.
Sponsor: Lob’s developer-friendly APIs make it straightforward to ship a letter, examine, or postcard, as simply as electronic mail. Design dynamic HTML templates to personalize mail for max influence. Begin Exploring with Postman!
Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, advisor, father, diabetic, and Microsoft worker. He’s a failed stand-up comedian, a cornrower, and a e book writer.