Переход с ASP.NET Core 3.0 на 3.1

Автор: Скотт Адди (Scott Addie)

В этой статье объясняется, как обновить существующий проект ASP.NET Core 3.0 до ASP.NET Core 3.1.

Необходимые компоненты

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

Если вы используете global.json файл для конкретной версии пакета SDK для .NET Core, обновите version свойство до установленной версии пакета SDK 3.1. Например:

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

Обновление целевой платформы

В файле проекта обновите Moniker Целевой платформы (TFM) следующим netcoreapp3.1образом:

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

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

</Project>

Обновление ссылок на пакеты

В файле проекта обновите атрибут каждой Microsoft.AspNetCore.* ссылки Version на пакет до версии 3.1.0 или более поздней версии. Например:

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

Обновление образов Docker

Для приложений с помощью Docker используйте базовый образ, включающий ASP.NET Core 3.1. Например:

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

SameSite Реализации атрибутов для HTTP-адресов cookieбыли изменены между ASP.NET Core 3.0 и 3.1. Сведения о действиях, которые необходимо выполнить, см. в следующих ресурсах:

Публикация с помощью Visual Studio

.pubxml В файле обновите версию TargetFramework 3.1:

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

Просмотр критических изменений

Просмотрите критические изменения версии 3.0–3.1 в .NET Core, ASP.NET Core и Entity Framework Core при критических изменениях для миграции с версии 3.0 на 3.1.

Необязательные изменения

Следующие изменения являются необязательными.

Использование вспомогательного средства тега компонента

ASP.NET Core 3.1 представляет вспомогательный Component компонент тегов. Вспомогательный метод тега может заменить вспомогательный RenderComponentAsync<TComponent>Blazor метод HTML в проекте. Например:

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

Дополнительные сведения см. в статье Компоненты Razor для предварительной визуализации и интеграции ASP.NET Core.

модуль ASP.NET Core (ANCM)

Если модуль ASP.NET Core (ANCM) не был выбранным компонентом при установке Visual Studio или если в системе установлена предварительная версия ANCM, скачайте последнюю версию установщика пакета размещения .NET Core (прямая загрузка) и запустите установщик. Дополнительные сведения см. в разделе "Пакет размещения".