Migrar do ASP.NET Core 3.0 para 3.1

Por Scott Addie

Esse artigo explica como atualizar um projeto existente do ASP.NET Core 3.0 para o ASP.NET Core 3.1.

Pré-requisitos

Atualizar a versão do SDK do .NET Core no global.json

Se você depender de um arquivo global.json para direcionar uma versão específica do SDK do .NET Core, atualize a propriedade version para a versão do SDK do .NET 3.1 instalada. Por exemplo:

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

Atualizar a estrutura de destino

Atualize o Moniker da Estrutura de Destino (TFM) do arquivo de projeto para netcoreapp3.1:

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

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

</Project>

Referências do pacote de atualização

No arquivo de projeto, atualize cada atributo Microsoft.AspNetCore.* de referência do pacote Version para 3.1.0 ou posterior. Por exemplo:

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

Atualizar imagens do Docker

Para aplicativos que usam o Docker, use uma imagem base que inclua ASP.NET Core 3.1. Por exemplo:

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

As implementações do atributo SameSite para cookies do HTTP foram alteradas entre o ASP.NET Core 3.0 e o 3.1. Para que as ações sejam executadas, consulte os seguintes recursos:

Publicar com o Visual Studio

No arquivo .pubxml , atualize para TargetFramework 3.1:

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

Analisar as alterações interruptivas

Examine as alterações interruptivas de 3.0 para 3.1 no .NET Core, ASP.NET Core e no Entity Framework Core em Alterações interruptivas na migração da versão 3.0 para a 3.1.

Alterações opcionais

As alterações a seguir são opcionais.

Usar o Auxiliar de Marca de Componente

O ASP.NET Core 3.1 apresenta um Component Auxiliar de Marca. O Auxiliar de Marca pode substituir o Método auxiliar de HTML RenderComponentAsync<TComponent> em um projeto Blazor. Por exemplo:

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

Para obter mais informações, confira Renderizar previamente e integrar os componentes Razor do ASP.NET Core.

Módulo do ASP.NET Core (ANCM)

Se o Módulo do ASP.NET Core (ANCM) não foi um componente selecionado quando o Visual Studio foi instalado ou se uma versão anterior do ANCM foi instalada no sistema, baixe o Instalador de Pacote de Hospedagem do .NET Core (download direto) mais recente e execute o instalador. Para obter mais informações, confira Hospedagem de Pacote.