ASP.NET Core 3.0 から3.1 への移行Migrate from ASP.NET Core 3.0 to 3.1

作成者: Scott AddieBy Scott Addie

この記事では、既存の ASP.NET Core 3.0 プロジェクトを ASP.NET Core 3.1 に更新する方法について説明します。This article explains how to update an existing ASP.NET Core 3.0 project to ASP.NET Core 3.1.

必要条件Prerequisites

global.json での .NET Core SDK バージョンの更新Update .NET Core SDK version in global.json

特定の .NET Core SDK バージョンをターゲットとするグローバルな jsonファイルに依存する場合は、version プロパティを、インストールされている 3.1 SDK バージョンに更新します。If you rely upon a global.json file to target a specific .NET Core SDK version, update the version property to the 3.1 SDK version that's installed. 例:For example:

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

ターゲットフレームワークを更新するUpdate the target framework

プロジェクトファイルで、ターゲットフレームワークモニカー (TFM)netcoreapp3.1に更新します。In the project file, update the Target Framework Moniker (TFM) to netcoreapp3.1:

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

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

</Project>

パッケージ参照の更新Update package references

プロジェクトファイルで、各 Microsoft.AspNetCore.* パッケージ参照の Version 属性を3.1.0 以降に更新します。In the project file, update each Microsoft.AspNetCore.* package reference's Version attribute to 3.1.0 or later. 例:For example:

<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.0" />
+    <PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="3.1.0" Condition="'$(Configuration)' == 'Debug'" />
</ItemGroup>

Docker イメージの更新Update Docker images

Docker を使用するアプリでは、ASP.NET Core 3.1 を含む基本イメージを使用します。For apps using Docker, use a base image that includes ASP.NET Core 3.1. 例:For example:

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

HTTP クッキーの SameSite 属性の実装は、ASP.NET Core 3.0 と3.1 の間で変更されました。The SameSite attribute implementations for HTTP cookies changed between ASP.NET Core 3.0 and 3.1. アクションを実行するには、次のリソースを参照してください。For actions to be taken, see the following resources:

重大な変更の確認Review breaking changes

.NET Core、ASP.NET Core、Entity Framework Core およびバージョン3.0 から3.1 への移行の互換性に影響する変更点について、3.0 から3.1 への重大な変更を確認します。Review 3.0-to-3.1 breaking changes across .NET Core, ASP.NET Core, and Entity Framework Core at Breaking changes for migration from version 3.0 to 3.1.

オプションの変更Optional changes

次の変更は省略可能です。The following changes are optional.

コンポーネントタグヘルパーを使用するUse the Component Tag Helper

ASP.NET Core 3.1 では、Component タグヘルパーが導入されています。ASP.NET Core 3.1 introduces a Component Tag Helper. タグヘルパーは、Blazor プロジェクトの RenderComponentAsync<TComponent> HTML ヘルパーメソッドを置き換えることができます。The Tag Helper can replace the RenderComponentAsync<TComponent> HTML helper method in a Blazor project. 例:For example:

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

詳細については、「 Razor Pages と MVC アプリへのコンポーネントの統合」を参照してください。For more information, see Integrate components into Razor Pages and MVC apps.