Ler em inglês

Compartilhar via


Alterações interruptivas no .NET 8

Se você estiver migrando um aplicativo para o .NET 8, poderá ser afetado pelas alterações interruptivas listadas aqui. As alterações são agrupadas por área de tecnologia, como ASP.NET Core ou Windows Forms.

Este artigo categoriza cada alteração interruptiva como incompatível binário ou incompatível com a origem ou alteração comportamental:

  • Incompatível binário – Quando executado em relação ao novo runtime ou componente, os binários existentes podem encontrar uma alteração interruptiva no comportamento, como falha ao carregar ou executar e, nesse caso, exigir recompilação.

  • Incompatível com a origem – Quando recompilado usando o novo SDK ou componente ou para direcionar ao novo runtime, o código-fonte existente pode exigir alterações de origem para que seja compilado com êxito.

  • Alteração comportamental – O código e os binários existentes podem se comportar de modo diferente em tempo de execução. Se o novo comportamento for indesejável, o código existente precisará ser atualizado e recompilado.

ASP.NET Core

Contêineres

Título Tipo de alteração
Pacote 'ca-certificates' removido de imagens alpinas Incompatível com binários
Imagens de contêiner do Debian atualizadas para o Debian 12 Incompatibilidade de binário/alteração de comportamento
Porta ASP.NET Core padrão alterada para 8080 Alteração de comportamento
Pacote Kerberos removido das imagens Alpine e Debian Incompatível com binários
Pacote "libintl" removido das imagens do Alpine Alteração de comportamento
As marcas de contêiner de várias plataformas são somente Linux Alteração de comportamento
Novo usuário "app" em imagens do Linux Alteração de comportamento

Bibliotecas principais do .NET

Título Tipo de alteração
Nome da operação de atividade quando nulo Alteração de comportamento
Comportamento AnonymousPipeServerStream.Dispose Alteração de comportamento
Obsolescências de API com IDs de diagnóstico personalizadas Incompatível com a origem
Mapeamento de barra invertida em caminhos de arquivo UNIX Alteração de comportamento
Métodos Base64.DecodeFromUtf8 ignoram espaço em branco Alteração de comportamento
Suporte ao tipo de enumeração com suporte booliano removido Alteração de comportamento
Formato Complex.ToString alterado para <a; b> Alteração de comportamento
Enumeração do caminho do diretório atual do drive Alteração de comportamento
Enumerable.Sum lança novo OverflowException para algumas entradas Alteração de comportamento
Gravações do FileStream quando o pipe é fechado Alteração de comportamento
FindSystemTimeZoneById não retorna um novo objeto Alteração de comportamento
GC.GetGeneration pode retornar Int32.MaxValue Alteração de comportamento
Comportamento GetFolderPath no UNIX Alteração de comportamento
O GetSystemVersion não retorna mais o ImageRuntimeVersion Alteração de comportamento
Anotações anuláveis ITypeDescriptorContext Incompatível com a origem
Console.ReadKey herdado removido Alteração de comportamento
Os construtores de método geram parâmetros com HasDefaultValue definido como false Alteração de comportamento
ProcessStartInfo.WindowStyle honrado quando UseShellExecute é falso Alteração de comportamento
O RuntimeIdentifier retorna a plataforma para a qual o runtime foi criado Alteração de comportamento
Type.GetType gera exceção para todos os tipos de elemento inválidos Alteração de comportamento

Criptografia

Título Tipo de alteração Introduzida
Tamanho da marca de autenticação do AesGcm no macOS Alteração de comportamento Preview 1
RSA.EncryptValue e RSA.DecryptValue obsoletos Incompatível com a origem Preview 1

Implantação

Título Tipo de alteração
O host determina ativos específicos do RID Incompatibilidade de binário/alteração de comportamento
O .NET Monitor inclui apenas imagens sem distribuição Alteração de comportamento
StripSymbols usa true como padrão Alteração de comportamento

Entity Framework Core

Alterações interruptivas no EF Core 8

Extensões

Globalização

Title Tipo de alteração
Conversores de data e hora respeitam o argumento de cultura Alteração de comportamento
O padrão TwoDigitYearMax é 2049 Alteração de comportamento

Interoperabilidade

Rede

Título Tipo de alteração
SendFile lança NotSupportedException para soquetes sem conexão Alteração de comportamento
As informações do usuário nos mailto: URIs são comparadas Alteração de comportamento

Reflexão

Título Tipo de alteração
IntPtr não é mais usado para tipos de ponteiro de função Alteração de comportamento

.

Title Tipo de alteração
A saída do console da CLI usa UTF-8 Alteração de comportamento/Incompatível com o código-fonte e com binários
Codificação de console não UTF-8 após a conclusão Alteração de comportamento/Incompatibilidade de binário
O padrão dos contêineres é usar a tag 'latest' Alteração de comportamento
O 'dotnet pack' usa a configuração Release Alteração comportamental/Incompatível com a origem
O 'dotnet publish' usa a configuração Release Alteração comportamental/Incompatível com a origem
Saída duplicada para -getItem, -getProperty e -getTargetResult Alteração de comportamento
O using implícito para System.Net.Http não é mais adicionado Alteração comportamental/Incompatível com a origem
Eventos de build derivados personalizados do MSBuild preteridos Alteração de comportamento
O MSBuild respeita DOTNET_CLI_UI_LANGUAGE Alteração de comportamento
Aplicativos específicos de runtime não autônomos Origem/incompatibilidade de binário
A opção --arch não implica auto-contido Alteração de comportamento
A "restauração dotnet" produz avisos de vulnerabilidade de segurança Alteração de comportamento
O SDK usa um grafo RID menor Alteração comportamental/Incompatível com a origem
Definir DebugSymbols como false desabilita a geração de PDB Alteração de comportamento
O Source Link está incluído no SDK do .NET Incompatível com a origem
O corte de linha não pode ser utilizado com o .NET Standard ou o .NET Framework. Alteração de comportamento
Pacotes não listados não instalados por padrão para ferramentas .NET Alteração de comportamento
arquivo .user importado em compilações externas Alteração de comportamento
Requisitos de versão para o SDK do .NET 8 Incompatível com a origem

Serialização

Windows Forms

Confira também