Ler em inglês

Partilhar via


Alterações interruptivas do .NET 8

Se você estiver migrando um aplicativo para o .NET 8, as alterações recentes listadas aqui podem afetá-lo. As alterações são agrupadas por área de tecnologia, como ASP.NET Core ou Windows Forms.

Este artigo categoriza cada alteração de quebra como binária incompatível ou fonte incompatível, ou como uma mudança comportamental:

  • Binário incompatível - Quando executado em relação ao novo tempo de execução ou componente, os binários existentes podem encontrar uma alteração de quebra no comportamento, como falha ao carregar ou executar e, em caso afirmativo, exigir recompilação.

  • Fonte incompatível - Quando recompilado usando o novo SDK ou componente ou para direcionar o novo tempo de execução, o código-fonte existente pode exigir alterações no código-fonte para compilar com êxito.

  • Mudança comportamental - O código e os binários existentes podem se comportar de forma 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

Contentores

Principais bibliotecas .NET

Título Tipo de alteração
Nome da operação de atividade quando nulo Mudança comportamental
Comportamento AnonymousPipeServerStream.Dispose Mudança comportamental
Obsolações de API com IDs de diagnóstico personalizadas Fonte incompatível
Mapeamento de barra invertida em caminhos de arquivo Unix Mudança comportamental
Os métodos Base64.DecodeFromUtf8 ignoram o espaço em branco Mudança comportamental
Suporte do tipo enum apoiado por booleano removido Mudança comportamental
O formato Complex.ToString foi alterado para <a; b> Mudança comportamental
Enumeração do caminho de diretório atual da unidade Mudança comportamental
Enumerable.Sum lança nova OverflowException para algumas entradas Mudança comportamental
FileStream grava quando o pipe é fechado Mudança comportamental
FindSystemTimeZoneById não retorna novo objeto Mudança comportamental
GC. GetGeneration pode retornar Int32.MaxValue Mudança comportamental
Comportamento GetFolderPath no Unix Mudança comportamental
GetSystemVersion não retorna mais ImageRuntimeVersion Mudança comportamental
ITypeDescriptorContext anotações anuláveis Fonte incompatível
Legacy Console.ReadKey removido Mudança comportamental
Os construtores de métodos geram parâmetros com HasDefaultValue definido como false Mudança comportamental
ProcessStartInfo.WindowStyle honrado quando UseShellExecute é falso Mudança comportamental
RuntimeIdentifier retorna a plataforma para a qual o tempo de execução foi criado Mudança comportamental
Type.GetType lança exceção para todos os tipos de elementos inválidos Mudança comportamental

Criptografia

Título Tipo de alteração Introduzido
Tamanho da tag de autenticação AesGcm no macOS Mudança comportamental Pré-visualização 1
RSA. EncryptValue e RSA. DecryptValue obsoleto Fonte incompatível Pré-visualização 1

Implementação

Título Tipo de alteração
O host determina ativos específicos do RID Alteração binária incompatível/comportamental
O .NET Monitor inclui apenas imagens sem distribuição Mudança comportamental
O padrão StripSymbols é true Mudança comportamental

Entity Framework Core

Mudanças significativas no EF Core 8

Extensões

Globalização

Título Tipo de alteração
Conversores de data e hora honram argumento de cultura Mudança comportamental
O padrão TwoDigitYearMax é 2049 Mudança comportamental

Interoperabilidade

Rede

Reflexão

Título Tipo de alteração
IntPtr não é mais usado para tipos de ponteiro de função Mudança comportamental

SDK

Título Tipo de alteração
A saída do console da CLI usa UTF-8 Mudança comportamental/Fonte e binário incompatível
Codificação de console não UTF-8 após a conclusão Mudança comportamental/Binária incompatível
Contêineres padrão para usar a tag 'mais recente' Mudança comportamental
'dotnet pack' usa a configuração Release Mudança comportamental/Fonte incompatível
'dotnet publish' usa a configuração Release Mudança comportamental/Fonte incompatível
Saída duplicada para -getItem, -getProperty e -getTargetResult Mudança comportamental
Implícito using para System.Net.Http não adicionado mais Mudança comportamental/Fonte incompatível
Eventos de compilação derivados personalizados do MSBuild preteridos Mudança comportamental
MSBuild respeita DOTNET_CLI_UI_LANGUAGE Mudança comportamental
Aplicativos específicos de tempo de execução não autônomos Origem/binário incompatível
--arch option não implica auto-contido Mudança comportamental
'Dotnet Restore' produz avisos de vulnerabilidade de segurança Mudança comportamental
SDK usa um gráfico RID menor Mudança comportamental/Fonte incompatível
Definir DebugSymbols como false desativa a geração de PDB Mudança comportamental
Link de origem incluído no SDK do .NET Fonte incompatível
O corte não pode ser usado com o .NET Standard ou o .NET Framework Mudança comportamental
Pacotes não listados não instalados por padrão para ferramentas .NET Mudança comportamental
Arquivo .user importado em compilações externas Mudança comportamental
Requisitos de versão para o SDK do .NET 8 Fonte incompatível

Serialização

Windows Forms

Consulte também