Effectuer une migration d’ASP.NET Core 3.0 vers 3.1

Par Scott Addie

Cet article explique comment mettre à jour un projet ASP.NET Core 3.0 existant vers ASP.NET Core 3.1.

Prérequis

Mettre à jour la version du kit SDK .NET Core vers global.json

Si vous comptez sur un fichier global.json pour cibler une version spécifique du kit SDK .NET Core, mettez à jour la propriété version vers la version du 3.1 du kit de développement logiciel (SDK) installé. Par exemple :

{
  "sdk": {
-    "version": "3.0.101"
+    "version": "3.1.101"
  }
}

Mettre à jour la version cible de .Net Framework

Dans le fichier projet, mettez à jour le moniker de framework cible (TFM) vers netcoreapp3.1 :

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
-    <TargetFramework>netcoreapp3.0</TargetFramework>
+    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>

</Project>

Mettre à jour les références de package

Dans le fichier projet, mettez à jour chaque attribut Version de la référence du package Microsoft.AspNetCore.* vers la version 3.1.0 (ou une version ultérieure). Par exemple :

<ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="3.0.0" />
-    <PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="3.0.0" Condition="'$(Configuration)' == 'Debug'" />
+    <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="3.1.1" />
+    <PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="3.1.1" Condition="'$(Configuration)' == 'Debug'" />
</ItemGroup>

Mettre à jour les images Docker

Pour les applications utilisant Docker, utilisez une image de base contenant ASP.NET Core 3.1. Par exemple :

docker pull mcr.microsoft.com/dotnet/aspnet:3.1

Les implémentations de l’attribut SameSite pour les cookies HTTP ont changé entre ASP.NET Core 3.0 et 3.1. Pour connaître les actions à entreprendre, consultez les ressources suivantes :

Publier avec Visual Studio

Dans le fichier .pubxml, mettez à jour le TargetFramework vers 3.1 :

- <TargetFramework>netcoreapp3.0</TargetFramework>
+ <TargetFramework>netcoreapp3.1</TargetFramework>

Examiner les changements cassants

Passez en revue les changements cassants de la version 3.0 à la version 3.1 dans .NET Core, ASP.NET Core et Entity Framework Core en consultant Changements cassants pour la migration de la version 3.0 à la version 3.1.

Modifications facultatives

Les modifications suivantes sont facultatives.

Utiliser le Tag Helper du composant

ASP.NET Core 3.1 introduit un Tag Helper Component. Le Tag Helper peut remplacer la méthode d’assistance HTML RenderComponentAsync<TComponent> dans un projet Blazor. Par exemple :

- @(await Html.RenderComponentAsync<Counter>(RenderMode.ServerPrerendered, new { IncrementAmount = 10 }))
+ <component type="typeof(Counter)" render-mode="ServerPrerendered" param-IncrementAmount="10" />

Pour plus d’informations, consultez Intégrer ASP.NET composants Core Razor avec MVC ou Razor Pages.

Module de base ASP.NET (ANCM)

Si le module ASP.NET Core (ANCM) n'était pas un composant sélectionné lors de l'installation de Visual Studio ou si une version antérieure de l'ANCM était installée sur le système, téléchargez le dernier programme d'installation du pack .NET Core Hosting (téléchargement direct) et exécutez l'installateur. Pour plus d’informations, consultez Pack d’hébergement.