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

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

Die SameSite-Attributimplementierungen für HTTP-cookie 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:

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. 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 Prerendering und Integrieren von Razor-Komponenten in ASP.NET Core.

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.