Migrieren von ASP.NET Core 3.0 zu 3.1)
Von Scott Addie
In diesem Artikel wird erläutert, wie Sie ein vorhandenes ASP.NET Core 3.0-Projekt auf ASP.NET Core 3.1 aktualisieren.
Voraussetzungen
- Visual Studio 2019 Version 16.4 oder höher mit der Workload ASP.NET und Webentwicklung.
- .NET Core 3.1 SDK
Aktualisieren der .NET Core SDK-Version in „global.json“
Wenn Sie eine global.json-Datei für eine bestimmte .NET Core SDK-Version verwenden, aktualisieren Sie die version
-Eigenschaft auf die installierte 3.1 SDK-Version. Beispiel:
{
"sdk": {
- "version": "3.0.101"
+ "version": "3.1.101"
}
}
Aktualisieren des Zielframeworks
Aktualisieren Sie in der Projektdatei den Zielframeworkmoniker (Target Framework Moniker, TFM) auf netcoreapp3.1
:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
- <TargetFramework>netcoreapp3.0</TargetFramework>
+ <TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
</Project>
Aktualisieren von Paketverweisen
Aktualisieren Sie in der Projektdatei das Version
Attribut jedes Paketverweises vom Typ Microsoft.AspNetCore.*
auf 3.1.0 oder höher. Beispiel:
<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>
Aktualisieren von Docker-Images
Verwenden Sie für Apps, die Docker verwenden, ein Basisimage, das ASP.NET Core 3.1 enthält. Beispiel:
docker pull mcr.microsoft.com/dotnet/aspnet:3.1
Reagieren auf SameSite-cookie-Änderungen
Die Implementierungen des Attributs SameSite
für HTTP-Cookies haben sich zwischen ASP.NET Core 3.0 und 3.1 geändert. Informationen zu den Maßnahmen, die ergriffen werden sollten, finden Sie in den folgenden Ressourcen:
- Arbeiten mit SameSite-Cookies in ASP.NET Core.
- aspnet/Announcements#390
- Upcoming SameSite cookie changes in ASP.NET and ASP.NET Core (Bevorstehende SameSite-Cookieänderungen in ASP.NET und ASP.NET Core)
Veröffentlichen mit Visual Studio
Aktualisieren Sie TargetFramework
in der Datei .pubxml
auf 3.1:
- <TargetFramework>netcoreapp3.0</TargetFramework>
+ <TargetFramework>netcoreapp3.1</TargetFramework>
Überprüfen von Breaking Changes
Informationen zu den Breaking Changes zwischen 3.0 und 3.1 in .NET Core, ASP.NET Core und Entity Framework Core finden Sie unter Breaking Changes in .NET Core 3.1.
Optionale Änderungen
Die folgenden Änderungen sind optional.
Verwenden des Taghilfsprogramms für Komponenten
In ASP.NET Core 3.1 wird ein Component
-Taghilfsprogramm eingeführt. Das Taghilfsprogramm kann die HTML-Hilfsmethode RenderComponentAsync<TComponent>
in einem Blazor-Projekt ersetzen. Zum Beispiel:
- @(await Html.RenderComponentAsync<Counter>(RenderMode.ServerPrerendered, new { IncrementAmount = 10 }))
+ <component type="typeof(Counter)" render-mode="ServerPrerendered" param-IncrementAmount="10" />
Weitere Informationen finden Sie unter Integrieren ASP.NET Kernkomponenten Razor in MVC oder Razor Pages.
ASP.NET Core-Modul (ANCM)
Wenn das ASP.NET Core-Modul (ANCM) bei der Installation von Visual Studio keine ausgewählte Komponente war oder wenn eine frühere Version des ANCM auf dem System installiert wurde, laden Sie den neuesten Installer für das .NET Core Hosting-Paket (direkter Download) herunter, und führen Sie das Installationsprogramm aus. Weitere Informationen finden Sie unter Das .NET Core-Hostingbundle.