Software Development

Let’s improve my major website and podcast to .NET 6 LTS



.NET 6 is launched and it is a LTS launch which suggests it will be totally and actively supported for the subsequent 3 years. In case you’ve been paused ready for the proper 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 working on some model of .NET 5. You possibly can 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 bought his occasion of dasBlog working on 6!

© Copyright 2021, Scott Hanselman. Design by @jzy, Powered by .NET 5.0.10 and deployed from commit e5058e via build 20210920.3

OK, let’s have a look at what’s concerned. Let’s begin with my podcast website. I’ve bought the code on GitHub and working domestically 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 prefer to drive stick shift typically for smaller initiatives.

I am going to replace my TargetFramework in my csproj undertaking file from net5.0 to net6.0 and replace the foremost PackageReferences from 5.0.0 to six.0.0. It compiles.

Optionally, I am going to additionally run “dotnet outdated” which is one among my favourite instruments. You will need to be sure to have a stable take a look at suite and never simply do that with out testing.

dotnet outdated tells me which packages need updating

I see that a few of these are main modifications so I can do a diff of those packages with 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 known as Logs.

I may even replace my Dockerfile and alter variations like this

FROM mcr.microsoft.com/dotnet/sdk:6.0 as construct

and

FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS runtime

I am going to verify that these pictures construct and take a look at. I additionally run my assessments 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 am going to replace my UseDotNet activity in Azure DevOps YAML to model: “6.0.x”

I am going to commit and begin constructing within the cloud!

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"

I may even verify that my Azure App Service is about to .NET 6, however that is solely wanted if I am NOT working in a Docker Container or if I am NOT utilizing a self-contained executable.

Now I repeat this for my podcast and major website 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, verify, or postcard, as simply as electronic mail. Design dynamic HTML templates to personalize mail for max affect. Begin Exploring with Postman!




About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, marketing consultant, father, diabetic, and Microsoft worker. He’s a failed stand-up comedian, a cornrower, and a guide writer.

facebook
twitter
subscribe
About   E-newsletter

Internet hosting By
Hosted in an Azure App Service










What's your reaction?

Leave A Reply

Your email address will not be published. Required fields are marked *