Compartilhar via


Alterações interruptivas no .NET 9

Se você estiver migrando um aplicativo para o .NET 9, 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.

Observação

Este artigo é um trabalho em andamento. Esta não é uma lista completa de alterações interruptivas no .NET 9. Para consultar alterações interruptivas que ainda estão pendentes de publicação, confira Problemas do .NET.

ASP.NET Core

Título Tipo de alteração Versão introduzida
DefaultKeyResolution.ShouldGenerateNewKey teve o significado alterado Alteração de comportamento Preview 3
A exportação do certificado de desenvolvimento não cria mais a pasta Alteração de comportamento RC 1
O HostBuilder habilita o ValidateOnBuild/ValidateScopes no ambiente de desenvolvimento Alteração de comportamento Versão prévia 7
Tipos de middleware com vários construtores Alteração de comportamento RC 1

Contêineres

Título Tipo de alteração Versão introduzida
As imagens de contêiner do .NET 9 não instalam mais o zlib Alteração de comportamento Versão prévia 7

Bibliotecas principais do .NET

Título Tipo de alteração Versão introduzida
Adicionar um ZipArchiveEntry com CompressionLevel define sinalizadores de bits de cabeçalho do diretório central ZIP Alteração de comportamento Preview 5
Suporte do UnsafeAccessor alterado para genéricos não abertos Alteração de comportamento Versão prévia 6
Obsolescências de API com IDs de diagnóstico personalizadas Incompatível com a origem (Vários)
Comprimento máximo do BigInteger Alteração de comportamento Versão prévia 6
BinaryReader.GetString() retorna "\uFFFD" em sequências malformadas Alteração de comportamento Versão prévia 7
Não é possível criar um tipo de matriz System.Void Alteração de comportamento Preview 1
Lançamento padrão Equals() e GetHashCode() para tipos marcados com InlineArrayAttribute Alteração de comportamento Versão prévia 6
EnumConverter valida os tipos registrados para serem enumeração Alteração de comportamento Versão prévia 7
FromKeyedServicesAttribute não injeta mais parâmetro não chaveado Alteração de comportamento RC 1
O retorno de chamada inicial IncrementingPollingCounter é assíncrono Alteração de comportamento RC 1
O limite de tamanho da estrutura da matriz embutida é aplicado Alteração de comportamento Preview 1
InMemoryDirectoryInfo acrescenta rootDir aos arquivos Alteração de comportamento Preview 1
Novas sobrecargas TimeSpan.From*() que usam inteiros Incompatível com a origem Preview 3
RuntimeHelpers.GetSubArray retorna um tipo diferente Alteração de comportamento Preview 1
Sobrecarga de String.Trim(params ReadOnlySpan<char>) removida Origem/incompatibilidade de binário GA
Suporte para variáveis de ambiente vazias Alteração de comportamento Versão prévia 6
Os nomes e comentários de ZipArchiveEntry respeitam o sinalizador UTF8 Alteração de comportamento RC 1

Criptografia

Título Tipo de alteração Versão introduzida
SafeEvpPKeyHandle.DuplicateHandle aumenta a contagem de referências do identificador Alteração de comportamento Versão prévia 7
Alguns construtores de X509Certificate2 e X509Certificate estão obsoletos Incompatível com a origem Versão prévia 7
Tempo de vida da chave privada do Windows simplificado Alteração de comportamento Versão prévia 7

Implantação

Título Tipo de alteração Versão introduzida
Pacotes de runtime do Windows/macOS/Linux MonoVM preteridos Incompatível com a origem Versão prévia 7

Interoperabilidade

Title Tipo de alteração Versão introduzida
CET suportado por padrão Incompatível com binários Versão prévia 6

Compilador JIT

Título Tipo de alteração Versão introduzida
As conversões de ponto flutuante para inteiro estão saturando Alteração de comportamento Visualização 4
Algumas APIs SVE foram removidas Incompatível com a origem RC 2

Rede

Título Tipo de alteração Versão introduzida
Obsolescências de API Incompatível com a origem Versão prévia 6
Relatório de métricas server.port HttpClient incondicionalmente Alteração de comportamento Versão prévia 7
O registro em log HttpClientFactory edita valores de cabeçalho por padrão Alteração de comportamento RC 1
HttpClientFactory usa SocketsHttpHandler como manipulador primário Alteração de comportamento Versão prévia 6
HttpListenerRequest.UserAgent é anulável Incompatível com a origem Preview 1
Redação de consulta de URI em eventos HttpClient EventSource Alteração de comportamento Versão prévia 7
Redação de consulta de URI em logs IHttpClientFactory Alteração de comportamento Versão prévia 7

SDK e MSBuild

Título Tipo de alteração Versão introduzida
dotnet restore audita pacotes transitivos Alteração de comportamento Versão prévia 6
dotnet watch incompatível com Recarga Dinâmica para estruturas antigas Alteração de comportamento RC 1
Alteração de saída de comandos dotnet workload Alteração de comportamento Preview 1
A versão do repositório installer não é mais documentada Alteração de comportamento Preview 5
O agente de terminal é o padrão Alteração de comportamento Preview 1
Requisitos de versão para o SDK do .NET 9 Incompatível com a origem GA
Aviso emitido para o destino .NET Standard 1.x Incompatível com a origem Versão prévia 6
Aviso emitido para o destino do .NET 7 Incompatível com a origem GA

Serialização

Título Tipo de alteração Versão introduzida
O BinaryFormatter sempre lança Alteração de comportamento Versão prévia 6

Windows Forms

Título Tipo de alteração Versão introduzida
BindingSource.SortDescriptions não retorna nulo Alteração de comportamento Preview 1
Alterações em anotações de nulidade Incompatível com a origem Preview 1
ComponentDesigner.Initialize gera ArgumentNullException Alteração de comportamento Preview 1
DataGridViewRowAccessibleObject.Name índice da linha inicial Alteração de comportamento Preview 1
O suporte a IMsoComponent é opcional Alteração de comportamento Preview 2
Novos analisadores de segurança Incompatível com a origem RC 1
Nenhuma exceção se DataGridView for nulo Alteração de comportamento Preview 1
PictureBox gera exceções HttpClient Alteração de comportamento Versão prévia 6

WPF

Título Tipo de alteração Versão introduzida
GetXmlNamespaceMaps alteração de tipo Alteração comportamental/Incompatível com a origem Preview 3

Confira também