X

Mettons à niveau mon site principal et mon podcast vers .NET 6 LTS



.NET 6 est sorti et c’est une version LTS, ce qui signifie qu’il sera entièrement et activement pris en charge pendant les 3 prochaines années. Si vous avez attendu le bon moment pour passer à .NET 6, c’est le bon moment pour passer à la vitesse supérieure !

À l’heure actuelle, Hanselman.com et Hanselminutes.com (mon podcast) fonctionnent sur une version de .NET 5. Vous pouvez voir en les visitant et en faisant défiler vers le bas dans le pied de page car j’ai ajouté un hachage git commit et Azure DevOps Build Number et Build ID sur un site Web ASP.NET et j’utilise RuntimeInformation.FrameworkDescription pour générer la version en texte brut de .NET que j’utilise. Ce blog est sur .NET Core 3.0 qui est une version LTS mais je vais travailler avec Mark Downie cette semaine pour le déplacer vers .NET 6 LTS car il a déjà son instance de dasBlog en cours d’exécution sur 6 !

OK, voyons de quoi il s’agit. Commençons par mon site de podcast. J’ai le code sur GitHub et je l’exécute localement avec “dotnet run” sur la ligne de commande sous Linux et Windows. Je peux exécuter “l’assistant de mise à niveau dotnet”, ce qui est génial, mais j’aime aussi parfois piloter le changement de vitesse pour les petits projets.

Je vais mettre à jour mon TargetFramework dans mon fichier de projet csproj de net5.0 à net6.0 et mettre à jour les principaux PackageReferences de 5.0.0 à 6.0.0. Il compile.

En option, j’exécuterai également “dotnet obsolète” qui est l’un de mes outils préférés. Vous voudrez vous assurer que vous disposez d’une suite de tests solide et ne vous contentez pas de le faire sans test.

Je vois que certains d’entre eux sont des changements majeurs, donc je peux faire un diff de ces packages avec un certain nombre d’outils, mais mon préféré est FuGet.org (Merci Frank !) donc je peux faire un diff entre la version alpha de Selenium I’ m using et release voient que le type RemoteLogs s’appelle désormais Logs.

Je vais également mettre à jour mon Dockerfile et changer les versions comme celle-ci

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

et

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

Je vais confirmer que ces images sont construites et testées. J’exécute également mes tests éventuellement à l’intérieur d’un conteneur, donc c’est bien.

Certains de mes sites utilisent Azure DevOps et d’autres utilisent GitHub Actions. Les deux utilisent YAML (yay) pour gérer leur configuration, je vais donc mettre à jour ma tâche UseDotNet dans Azure DevOps YAML vers la version : “6.0.x”

Je vais m’engager et commencer à construire dans le cloud !

Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: Dockerfile
modified: azure-pipelines.yml
modified: hanselminutes.core.tests/SeleniumTests.cs
modified: hanselminutes.core.tests/hanselminutes.core.tests.csproj
modified: hanselminutes.core/Startup.cs
modified: hanselminutes.core/hanselminutes-core.csproj

$ git commit -m "upgrade to .net 6"

Je confirmerai également que mon Azure App Service est défini sur .NET 6, mais cela n’est nécessaire que si je ne fonctionne PAS dans un conteneur Docker ou si je n’utilise PAS un exécutable autonome.

Maintenant, je répète cela pour mon podcast et mon site principal et je suis maintenant sur .NET 6 ! Le blog (une mise à jour plus importante) est le suivant.


Parrainer: Les API conviviales pour les développeurs de Lob facilitent l’envoi d’une lettre, d’un chèque ou d’une carte postale, aussi facilement qu’un e-mail. Concevez des modèles HTML dynamiques pour personnaliser le courrier pour un impact maximal. Commencez à explorer avec Postman !




À propos de Scott

Scott Hanselman est un ancien professeur, ancien architecte en chef en finance, maintenant conférencier, consultant, père, diabétique et employé de Microsoft. C’est un comique raté, un cornrower et un auteur de livres.



À propos de la newsletter

Hébergement par