Novidades no .NET 11

Este artigo descreve novos recursos no .NET 11. Foi atualizado pela última vez para a Versão Prévia 7.

.NET 11 está atualmente em versão prévia. O lançamento final está previsto para novembro de 2026. Você pode download .NET 11 aqui.

Runtime do .NET

O runtime do .NET 11 inclui:

  • Requisitos mínimos de hardware atualizados para arquiteturas x86/x64 e Arm64, exigindo conjuntos de instruções mais modernos para melhorar o desempenho e reduzir a complexidade da manutenção.
  • Assíncrono nativo de runtime (Runtime Async), que produz rastreamentos de pilha mais limpos e menor sobrecarga. O Runtime Async não é mais necessário <EnablePreviewFeatures>true</EnablePreviewFeatures> para projetos destinados a net11.0. As próprias bibliotecas de runtime são compiladas com runtime-async=on.
  • Melhorias de desempenho do Runtime Async, incluindo a compilação JIT de uma versão dedicada para runtime assíncrono de métodos síncronos que retornam tarefa, continuações assíncronas que optam por não capturar ExecutionContext quando nenhum estado ambiente está em uso e pontos de suspensão com mesclagem de cauda que reduzem o tamanho do código gerado.
  • Compilação em camadas assíncrona em tempo de execução, funções intrínsecas de fábrica de tarefas e tarefas de valor e melhorias implícitas de chamada de cauda que reduzem as alocações de aquecimento e aceleram os caminhos comuns await.
  • Aprimoramentos JIT para eliminação de verificação de limites, remoção de contexto verificado redundante, desvirtualização, dobramento de expressão switch, dobramento de constantes SequenceEqual e eliminação de ramificação redundante. Há também novos intrínsecos SVE2 da Arm, modelagem de custo de intrínsecos de hardware aprimorada e um Math.BigMul mais rápido no x64 que emite uma única instrução MUL.
  • O CoreCLR no WebAssembly agora executa o conjunto de testes das bibliotecas de ponta a ponta, e o tempo de execução adiciona funções intrínsecas de hardware AVX-VNNI-512 para cargas de trabalho de multiplicação e adição vetorizadas.
  • Registro em log, no processo, de relatórios de falha em plataformas móveis que captura o rastreamento de pilha gerenciada e o estado de runtime antes de o processo ser encerrado.
  • Despacho de interface mais rápido no NativeAOT usando um auxílio de despacho compartilhado, reduzindo o tamanho do binário nos locais de chamada e melhorando a taxa de transferência em cargas de trabalho com uso intensivo de interfaces.
  • APIs de construção e composição de vias SIMD (CreateGeometricSequence, Zip, Unzip e a família Concat) em Vector128<T>, Vector256<T>, Vector512<T>, Vector64<T> e Vector<T>.

Para obter mais informações, consulte O que há de novo no .NET 11 runtime.

bibliotecas de .NET

As .NET 11 bibliotecas incluem novas APIs para:

  • Expansão de Process com suporte a auxiliares para executar e capturar, inicializações do tipo fire-and-forget, métodos de ciclo de vida de SafeProcessHandle, controle mais rigoroso de identificadores e novos ProcessStartInfo.StartSuspended para inicializações suspensas e Process.TryGetProcessById(Int32, Process) para pesquisa segura de processos.
  • Compactação, incluindo APIs Base64 aprimoradas, novos métodos para entradas de arquivo ZIP, a compactação Zstandard em System.IO.Compression e a validação CRC32 ao ler entradas ZIP.
  • Novas APIs numéricas, incluindo tipos de ponto flutuante decimal IEEE 754 (Decimal32, Decimal64 e Decimal128), INumberBase<TSelf>.TryParsePartial para análise com reconhecimento de delimitador e Complex<T> genérico.
  • Aprimoramentos do System.Text.Json, incluindo a recuperação de informações de tipo genérico, JsonNamingPolicy.PascalCase, as substituições da política de nomenclatura por membro, as condições para ignorar no nível do tipo, o suporte a uniões discriminadas em F#, Utf8JsonWriter.Reset com opções e sobrecargas de SerializeAsyncEnumerable para destinos PipeWriter e a saída de valores de nível superior (NDJSON) e serialização de tipos de união do C#.
  • Métricas integradas do OpenTelemetry para MemoryCache.
  • Scaffolding de união discriminante (UnionAttribute e IUnion) em System.Runtime.CompilerServices.
  • Seleção de formato de arquivo tar e suporte ao formato esparso GNU 1.0.
  • Console suporte para a variável de ambiente FORCE_COLOR.
  • Alertas sobre reforço do handshake TLS e validação de certificados no Linux.
  • Adições de rede, incluindo encapsuladores para compactação do corpo de solicitações HTTP, descarte configurável de conexões HTTP e APIs tipadas para resolução de registros DNS.
  • Downgrade automático de HTTP/2 para autenticação do Windows.
  • Aprimoramentos nas junções do LINQ, incluindo FullJoin e as sobrecargas de Join e GroupJoin que retornam tupla, em Enumerable, Queryable e AsyncEnumerable.
  • Uma nova X25519DiffieHellman classe para troca de chaves X25519.
  • Sobrecargas genéricas em RandomNextInteger<T> e NextBinaryFloat<T> – que funcionam com qualquer tipo genérico numérico.
  • O método de fábrica EqualityComparer<T>.Create que cria um comparador direto de um seletor de chave.
  • QuicStream.Priority para priorização de fluxo HTTP/3.
  • Constantes de tipo MIME de vídeo em MediaTypeNames.Video.
  • Quatro novos tipos Stream (ReadOnlyMemoryStream, WritableMemoryStream, ReadOnlySequenceStream, StringStream) que encapsulam dados na memória sem copiá-los.
  • Validação assíncrona em System.ComponentModel.DataAnnotations via AsyncValidationAttribute, IAsyncValidatableObject e novos métodos Validator.ValidateObjectAsync.
  • Configuração de rastreamento de atividade usando regras em Microsoft.Extensions.Diagnostics, permitindo o controle declarativo do rastreamento de Activity sem configurar manualmente instâncias de ActivityListener.
  • Operações vetoriais entre lanes, incluindo CreateGeometricSequence, Zip, Unzip e a família Concat em Vector128<T>, Vector256<T>, Vector512<T>, Vector64<T> e Vector<T>.

Para obter mais informações, consulte O que há de novo nas .NET 11 bibliotecas.

SDK .NET

O SDK do .NET 11 inclui:

  • Instaladores menores do SDK no Linux e macOS por meio da eliminação de duplicação de assemblies, com economia adicional quando ignora crossgen somente para assemblies DotnetTools.
  • Analisador de código CA1873 aprimorado com ruído reduzido e mensagens de diagnóstico mais claras.
  • Suporte para criar e editar filtros de solução (.slnf) da dotnet sln CLI.
  • Suporte a aplicativos baseados em arquivos, permitindo #:include dividir aplicativos em vários arquivos e #:include ./libs/MyLib.dll incluir diretamente referências a DLLs compiladas.
  • Uma nova dotnet run -e opção para passar variáveis de ambiente da linha de comando.
  • Aprimoramentos dotnet watch, incluindo a integração do host do aplicativo Aspire, a recuperação automática de travamentos e a seleção de dispositivos para MAUI e os projetos móveis.
  • O OpenTelemetry substitui o Application Insights para telemetria da CLI.
  • Ponto de entrada da CLI NativeAOT que expõe toda a superfície de comandos — incluindo --help para todos os comandos internos e as inicializações de ferramentas/comandos externos — fora do processo, a partir do caminho AOT, ignorando a inicialização gerenciada da CLI.
  • A CLI NativeAOT e o servidor MSBuild agora estão habilitados por padrão.
  • Melhorias de dotnet test, incluindo --no-dependencies, variável de ambiente DOTNET_TEST_RUNNER, --use-current-runtime, padrões de exclusão --test-modules, contagens de testes por assembly e exibição em tempo real dos testes em andamento.
  • Melhorias adicionais em dotnet test incluem --timeout e --maximum-failed-tests em nível de execução, suporte a projeto de travessia, saída JSON para --list-tests e pós-processamento de artefatos para execuções com vários módulos.
  • Os modelos de teste integrados oferecem suporte ao xUnit v3 (usando Microsoft.Testing.Platform por padrão) e ao NUnit com uma opção --test-runner de adesão.
  • A imagem de contêiner de várias arquiteturas é criada com o Podman usando o suporte à publicação de contêiner do SDK.
  • A publicação de contêineres agora prefere tempos de execução locais nativos da plataforma (wslc no Windows e container no macOS) antes do Docker e do Podman.
  • Os resultados da compilação do TypeScript das Razor Class Libraries agora se integram corretamente ao pipeline de recursos Web estáticos.
  • A CLI dotnet não suprime mais o servidor de build do MSBuild quando DOTNET_CLI_USE_MSBUILD_SERVER não estiver definido, e o exportador de telemetria OTLP é ativado com qualquer variável de ambiente OTEL_EXPORTER_OTLP_* padrão.

Para obter mais informações, consulte O que há de novo no SDK para .NET 11.

ASP.NET Core

Para obter informações sobre as novidades no ASP.NET Core, consulte O que há de novo no ASP.NET Core para .NET 11.

C# 15

O C# 15 inclui estes recursos:

Para obter informações sobre novos recursos do C#, confira As novidades no C# 15.

EF Core

Consulte O que há de novo no EF Core para .NET 11.

Bibliotecas de extensões

Consulte as notas de versão do dotnet/extensões.

Windows Forms

Consulte O que há de novo em Windows Forms para .NET 11.

WPF

Consulte O que há de novo em WPF no .NET 11.

Consulte também