Переход с ASP.NET Core 3.0 на 3.1
Автор: Скотт Адди (Scott Addie)
В этой статье объясняется, как обновить существующий проект ASP.NET Core 3.0 до ASP.NET Core 3.1.
Необходимые компоненты
- Visual Studio 2019 16.4 или более поздней версии с рабочей нагрузкой ASP.NET и разработка веб-приложений
- Пакет SDK для .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 cookie
SameSite
Реализации атрибутов для файлов cookie HTTP изменились между ASP.NET Core 3.0 и 3.1. Сведения о действиях, которые необходимо выполнить, см. в следующих ресурсах:
- Работа с файлами cookie SameSite в ASP.NET Core
- aspnet/Announcements#390
- Предстоящие изменения в SameSite cookie в ASP.NET и ASP.NET Core
Публикация с помощью 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 (прямая загрузка) и запустите установщик. Дополнительные сведения см. в разделе "Пакет размещения".
ASP.NET Core