Миграция с ASP.NET Core 3,0 на 3,1Migrate from ASP.NET Core 3.0 to 3.1

Автор: Скотт Адди (Scott Addie)By 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

Обновление версии пакета SDK для .NET Core в файле global.jsonUpdate .NET Core SDK version in global.json

Если вы используете файл Global. JSON для конкретной версии пакет SDK для .NET Core, обновите свойство version до установленной версии пакета SDK 3,1.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>

Обновление образов DOCKERUpdate 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

Реализации атрибута SameSite для файлов cookie HTTP изменились между 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

Просмотрите критические изменения 3,0-3,1 в .NET Core, ASP.NET Core и Entity Framework Core при критических изменениях для миграции с версии 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. Вспомогательная функция тега может заменить 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.