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
- Program Visual Studio 2019 16.4 lub nowsza wersja z pakietem roboczym tworzenia aplikacji ASP.NET. i aplikacji internetowych
- Zestaw .NET Core SDK 3.1
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. Na 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. Na 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. Na przykład:
docker pull mcr.microsoft.com/dotnet/aspnet:3.1
Reagowanie na zmiany w tej samej lokacji cookie
SameSite
Implementacje atrybutów plików cookie HTTP zmieniły się między ASP.NET Core 3.0 i 3.1. Aby uzyskać informacje na temat akcji, zobacz następujące zasoby:
- Praca z plikami cookie SameSite w programie ASP.NET Core
- aspnet/Anonsy#390
- Nadchodzące zmiany w witrynie SameSite cookie w ASP.NET i ASP.NET Core
Publikowanie za pomocą programu Visual Studio
W pliku zaktualizuj wartość .pubxml
TargetFramework
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 . Na 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 Integrowanie składników ASP.NET Core Razor z MVC lub Razor Pages.
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).