Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Se você estiver migrando um aplicativo para o .NET 10, 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 significativa como binária incompatível ou fonte incompatível, ou como uma mudança comportamental:
Binário incompatível - Quando executados no novo ambiente de execução ou componente, os binários existentes podem encontrar uma alteração significativa no comportamento, como falha ao carregar ou executar, e, nesses casos, 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 ser compilado com êxito.
Mudança comportamental - Código e binários existentes podem comportar-se de forma 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. Não é uma lista completa de alterações significativas no .NET 10.
ASP.NET Core
| Title | Tipo de alteração |
|---|---|
| Desativação de redirecionamentos de login de cookies para endpoints de API conhecidos | Mudança comportamental |
| Descontinuação do método de extensão WithOpenApi | Fonte incompatível |
| Diagnóstico de exceção suprimido quando TryHandleAsync retorna true | Mudança comportamental |
| IActionContextAccessor e ActionContextAccessor estão obsoletos | Fonte incompatível/mudança comportamental |
| A propriedade IncludeOpenAPIAnalyzers e os analisadores de API MVC foram preteridos | Fonte incompatível |
| IPNetwork e ForwardedHeadersOptions.KnownNetworks estão obsoletos | Fonte incompatível |
| Pacote Microsoft.Extensions.ApiDescription.Client descontinuado | Fonte incompatível |
| Razor A compilação em tempo de execução está obsoleta | Fonte incompatível |
| WebHostBuilder, IWebHost e WebHost estão obsoletos | Fonte incompatível |
Contentores
| Title | Tipo de alteração |
|---|---|
| As imagens padrão do .NET utilizam o Ubuntu | Mudança comportamental |
Principais bibliotecas .NET
Cryptography
| Title | Tipo de alteração |
|---|---|
| CompositeMLDsa atualizado para draft-08 | Mudança comportamental |
| CoseSigner.Key pode ser null | Alteração incompatível de comportamento/origem |
| Membros MLDsa e SlhDsa 'SecretKey' renomeados | Fonte incompatível |
| Primitivos criptográficos OpenSSL não são suportados no macOS | Mudança comportamental |
| OpenSSL 1.1.1 ou posterior necessário no Unix | Mudança comportamental |
| validação X500DistinguishedName é mais rigorosa | Mudança comportamental |
| parâmetros de chave X509Certificate e PublicKey podem ser nulos | Alteração incompatível de comportamento/origem |
| A variável de ambiente foi renomeada para DOTNET_OPENSSL_VERSION_OVERRIDE | Mudança comportamental |
Núcleo do Entity Framework
Mudanças significativas no EF Core 10
Extensions
| Title | Tipo de alteração |
|---|---|
| BackgroundService executa todo o ExecuteAsync como uma tarefa | Mudança comportamental |
| Corrigir problemas no GetKeyedService() e no GetKeyedServices() com o AnyKey | Mudança comportamental |
| Valores nulos preservados na configuração | Mudança comportamental |
| Mensagem já não é duplicada no registo do console | Mudança comportamental |
| Atributo ProviderAlias movido para o assembly Microsoft.Extensions.Logging.Abstractions | Fonte incompatível |
| A anotação DynamicallyAccessedMembers foi removida do código trim-unsafe Microsoft.Extensions.Configuration | Binário incompatível |
Globalization
| Title | Tipo de alteração |
|---|---|
| variável de ambiente renomeada para DOTNET_ICU_VERSION_OVERRIDE | Mudança comportamental |
Ferramenta de instalação
| Title | Tipo de alteração |
|---|---|
| A API dotnet.acquire para VS Code já não faz sempre o download das versões mais recentes | Mudança comportamental |
Interop
| Title | Tipo de alteração |
|---|---|
| Falha na conversão do objeto COM IDispatchEx para IReflect | Mudança comportamental |
| Os aplicativos de arquivo único não procuram mais bibliotecas nativas no diretório executável | Mudança comportamental |
| Especificando DllImportSearchPath.AssemblyDirectory pesquisa apenas o diretório assembly | Mudança comportamental |
Rede
| Title | Tipo de alteração |
|---|---|
| Suporte HTTP/3 desativado por padrão com PublishTrimmed | Fonte incompatível |
| Streaming de respostas HTTP habilitado por padrão em clientes HTTP do navegador | Mudança comportamental |
Uri Limites de comprimento removidos |
Mudança comportamental |
Reflection
| Title | Tipo de alteração | Versão introduzida |
|---|---|---|
| Anotações mais restritas em InvokeMember/FindMembers/DeclaredMembers | Comportamental/fonte incompatível |
SDK e MSBuild
Serialização
| Title | Tipo de alteração |
|---|---|
| System.Text.Json verifica conflitos com nomes de propriedades | Mudança comportamental |
| XmlSerializer não ignora mais propriedades marcadas com ObsoleteAttribute | Mudança comportamental |
Windows Forms
| Title | Tipo de alteração |
|---|---|
| Obsolescências da API | Fonte incompatível |
| Os aplicativos que fazem referência ao WPF e ao WinForms devem desambiguar os tipos MenuItem e ContextMenu | Fonte incompatível |
| Parâmetro renomeado em HtmlElement.InsertAdjacentElement | Fonte incompatível |
| imagem da caixa de seleção do TreeView truncada | Mudança comportamental |
| StatusStrip usa System RenderMode por padrão | Mudança comportamental |
| System.Drawing OutOfMemoryException foi substituído por ExternalException | Mudança comportamental |
Fundação de Apresentação do Windows (WPF)
| Title | Tipo de alteração |
|---|---|
| ColumnDefinitions e RowDefinitions vazias não são permitidas | Fonte incompatível |
| O uso incorreto do DynamicResource causa falha no aplicativo | Fonte incompatível/mudança comportamental |