Migrowanie z ASP.NET Core 3.0 do wersji 3.1

Autor: Scott Addie

W tym artykule wyjaśniono, jak zaktualizować istniejący projekt ASP.NET Core 3.0 w celu ASP.NET Core 3.1.

Wymagania wstępne

Aktualizowanie wersji zestawu .NET Core SDK w programie global.json

Jeśli korzystasz z global.json pliku przeznaczonego dla określonej wersji zestawu .NET Core SDK, zaktualizuj version właściwość do zainstalowanej wersji zestawu SDK 3.1. Przykład:

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

Aktualizowanie platformy docelowej

W pliku projektu zaktualizuj element Target Framework Moniker (TFM) na netcoreapp3.1:

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

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

</Project>

Aktualizowanie odwołań do pakietów

W pliku projektu zaktualizuj atrybut odwołania Version do każdego Microsoft.AspNetCore.* pakietu do wersji 3.1.0 lub nowszej. Przykład:

<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>

Aktualizowanie obrazów platformy Docker

W przypadku aplikacji korzystających z platformy Docker użyj obrazu podstawowego zawierającego ASP.NET Core 3.1. Przykład:

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

SameSite Implementacje atrybutów dla protokołu HTTP cookiezmieniły się między ASP.NET Core 3.0 i 3.1. Aby uzyskać informacje na temat akcji, zobacz następujące zasoby:

Publikowanie za pomocą programu Visual Studio

W pliku zaktualizuj wartość .pubxmlTargetFramework do wersji 3.1:

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

Przeglądanie zmian powodujących niezgodność

Przejrzyj zmiany powodujące niezgodność od 3.0 do 3.1 na platformie .NET Core, ASP.NET Core i Entity Framework Core w przypadku zmian powodujących niezgodność migracji z wersji 3.0 do 3.1.

Zmiany opcjonalne

Następujące zmiany są opcjonalne.

Korzystanie z pomocnika tagów składników

ASP.NET Core 3.1 wprowadza pomocnika tagów Component . Pomocnik tagów może zastąpić metodę RenderComponentAsync<TComponent> pomocnika HTML w projekcie Blazor . Przykład:

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

Aby uzyskać więcej informacji, zobacz Prerender i integrowanie składników ASP.NET CoreRazor.

ASP.NET Core Module (ANCM)

Jeśli moduł ASP.NET Core Module (ANCM) nie był wybranym składnikiem, gdy program Visual Studio został zainstalowany lub czy wcześniejsza wersja narzędzia ANCM została zainstalowana w systemie, pobierz najnowszy Instalator pakietu hostingowego platformy .NET Core (pobieranie bezpośrednie) i uruchom instalatora. Aby uzyskać więcej informacji, zobacz Hosting Bundle (Pakiet hostingu).