Novità di .NET 11

Questo articolo descrive le nuove funzionalità di .NET 11. L'ultimo aggiornamento è stato eseguito per l'anteprima 7.

.NET 11 è attualmente in anteprima. La versione finale è prevista a novembre 2026. È possibile download .NET 11 qui.

ambiente di esecuzione .NET

Il runtime di .NET 11 include:

  • Aggiornamento dei requisiti hardware minimi per le architetture x86/x64 e Arm64, che richiedono set di istruzioni più moderni per migliorare le prestazioni e ridurre la complessità della manutenzione.
  • Asincrona nativa del runtime (asincrono di runtime), che produce tracce dello stack più pulite e un sovraccarico inferiore. Runtime Async non richiede più <EnablePreviewFeatures>true</EnablePreviewFeatures> per i progetti destinati a net11.0. Le librerie di runtime stesse vengono compilate con runtime-async=on.
  • Miglioramenti delle prestazioni di Runtime Async, inclusi la compilazione JIT di una versione dedicata a Runtime Async dei metodi sincroni che restituiscono Task, continuazioni asincrone che non effettuano la cattura di ExecutionContext quando non è in uso alcuno stato ambientale e punti di sospensione unificati nella parte finale che riducono le dimensioni del codice generato.
  • Compilazione a livelli asincrona del runtime, intrinseci della factory di Task e ValueTask e miglioramenti delle chiamate di coda implicite che riducono le allocazioni nella fase di avvio e accelerano i percorsi comuni await.
  • Miglioramenti JIT per l'eliminazione del controllo dei limiti, la rimozione ridondante del contesto controllato, la devirtualizzazione, la riduzione delle espressioni switch, la riduzione SequenceEqualcostante e l'eliminazione ridondante dei rami. Sono disponibili anche nuovi intrinseci Arm SVE2, una migliore modellazione dei costi degli intrinseci hardware e un'implementazione più rapida di Math.BigMul su x64 che genera un'unica istruzione MUL.
  • CoreCLR su WebAssembly ora esegue la suite di test delle librerie dall'inizio alla fine e il runtime aggiunge le funzioni intrinseche hardware AVX-VNNI-512 per carichi di lavoro di moltiplicazione-addizione vettoriale.
  • Registrazione dei rapporti di arresto anomalo all'interno del processo sulle piattaforme mobili che acquisisce la traccia dello stack gestito e lo stato del runtime prima che il processo termini.
  • Dispatch delle interfacce più veloce in NativeAOT tramite un helper di dispatch condiviso, con conseguente riduzione della dimensione del codice binario nei siti di chiamata e miglioramento del throughput per i carichi di lavoro con uso intensivo delle interfacce.
  • API per la costruzione e la composizione delle corsie SIMD (CreateGeometricSequence, Zip, Unzip e la famiglia Concat) in Vector128<T>, Vector256<T>, Vector512<T>, Vector64<T> e Vector<T>.

Per altre informazioni, vedere Novità del runtime di .NET 11.

librerie .NET

Le librerie .NET 11 includono le nuove API per:

  • Process ampliato con helper di esecuzione e acquisizione, avvii senza attesa, metodi del ciclo di vita di SafeProcessHandle, controllo più rigoroso degli handle e nuovi ProcessStartInfo.StartSuspended per gli avvii sospesi e Process.TryGetProcessById(Int32, Process) per l’individuazione sicura dei processi.
  • Compressione, incluse le API Base64 migliorate, i nuovi metodi per le voci di archivio ZIP, la compressione Zstandard in System.IO.Compression, e la convalida CRC32 durante la lettura delle voci ZIP.
  • Nuove API numeriche, inclusi i tipi a virgola mobile decimale IEEE 754 (Decimal32, Decimal64e Decimal128), INumberBase<TSelf>.TryParsePartial per l'analisi compatibile con i delimitatori e generici Complex<T>.
  • Miglioramenti di System.Text.Json, inclusi il recupero delle informazioni sui tipi generici, JsonNamingPolicy.PascalCase, gli override dei criteri di denominazione per i singoli membri, le condizioni di esclusione a livello di tipo, il supporto per le unioni discriminate di F#, Utf8JsonWriter.Reset con opzioni, i sovraccarichi di SerializeAsyncEnumerable per destinazioni PipeWriter e l'output di valori di primo livello (NDJSON), e la serializzazione dei tipi unione di C#.
  • Metriche OpenTelemetry predefinite per MemoryCache.
  • Generazione di unioni discriminate (UnionAttribute e IUnion) in System.Runtime.CompilerServices.
  • Selezione del formato archivio Tar e supporto per il formato GNU sparse 1.0.
  • Console supporto per la variabile d'ambiente FORCE_COLOR.
  • Rafforzamento della negoziazione TLS e avvisi di validazione dei certificati su Linux.
  • Aggiunte al networking, incluse wrapper per la compressione del corpo delle richieste HTTP, la chiusura configurabile delle connessioni HTTP e API tipizzate per la risoluzione dei record DNS.
  • Downgrade automatico di HTTP/2 per l'autenticazione di Windows.
  • Miglioramenti ai join LINQ, inclusi gli overload FullJoin e gli overload Join e GroupJoin che restituiscono tuple, in Enumerable, Queryable e AsyncEnumerable.
  • X25519DiffieHellman Nuova classe per lo scambio di chiavi X25519.
  • Overload generiche per RandomNextInteger<T> e NextBinaryFloat<T> — che funzionano con qualsiasi tipo numerico generico.
  • EqualityComparer<T>.Create metodo factory che crea un operatore di confronto da un selettore di chiavi.
  • QuicStream.Priority per la definizione delle priorità del flusso HTTP/3.
  • Costanti del tipo MIME dei video in MediaTypeNames.Video.
  • Quattro nuovi tipi Stream (ReadOnlyMemoryStream, WritableMemoryStream, ReadOnlySequenceStream, StringStream) che incapsulano i dati in memoria senza copiarli.
  • Convalida asincrona in System.ComponentModel.DataAnnotations tramite AsyncValidationAttribute, IAsyncValidatableObjecte nuovi Validator.ValidateObjectAsync metodi.
  • Configurazione del tracciamento delle attività tramite le regole in Microsoft.Extensions.Diagnostics, che consente il controllo dichiarativo del tracciamento Activity senza configurare manualmente le istanze di ActivityListener.
  • Operazioni vettoriali tra corsie, tra cui CreateGeometricSequence, ZipUnzip, e la Concat famiglia in Vector128<T>, Vector256<T>Vector512<T>, Vector64<T>, e Vector<T>.

Per altre informazioni, vedere Novità delle librerie .NET 11.

.NET SDK

Lo SDK .NET 11 include:

  • Programmi di installazione dell’SDK più leggeri su Linux e macOS grazie alla deduplicazione degli assembly, con ulteriori risparmi saltando crossgen per gli assembly solo DotnetTools.
  • Migliorato l'analizzatore del codice CA1873 con minore rumore e messaggi di diagnostica più chiari.
  • Supporto per la creazione e la modifica dei filtri della soluzione (.slnf) dalla riga di comando dotnet sln.
  • Supporto di app basate su file per #:include suddividere le app tra più file e #:include ./libs/MyLib.dll includere direttamente i riferimenti DLL compilati.
  • dotnet run -e Nuova opzione per passare variabili di ambiente dalla riga di comando.
  • dotnet watch miglioramenti, tra cui Aspire l'integrazione dell'app host, il ripristino automatico in caso di arresto anomalo e la selezione del dispositivo per i progetti MAUI e per dispositivi mobili.
  • OpenTelemetry sostituisce Application Insights per i dati di telemetria dell'interfaccia della riga di comando.
  • Punto di ingresso della CLI NativeAOT che espone l'intera superficie di comandi, inclusi --help per tutti i comandi predefiniti integrati e gli avvii di strumenti/comandi esterni, fuori processo dal percorso AOT, saltando l'avvio della CLI gestita.
  • L'interfaccia della riga di comando nativeAOT e il server MSBuild sono ora abilitati per impostazione predefinita.
  • dotnet test miglioramenti, tra cui --no-dependencies, la DOTNET_TEST_RUNNER variabile d'ambiente, --use-current-runtime, i --test-modules pattern di esclusione, il numero di test per assembly e la visualizzazione in tempo reale dei test in esecuzione.
  • Ulteriori dotnet test miglioramenti includono il supporto per --timeout a livello di esecuzione e --maximum-failed-tests, il supporto per i traversal-project, l'output JSON per --list-tests e la post-elaborazione degli artefatti per le esecuzioni multi-modulo.
  • I modelli di test predefiniti supportano xUnit v3(impostazione predefinita è Microsoft. Testing.Platform) e NUnit con un'opzione di consenso --test-runner esplicito.
  • Creazione di immagini di contenitori multiarchitettura con Podman tramite il supporto dell'SDK per la pubblicazione di contenitori.
  • La pubblicazione dei contenitori ora privilegia i runtime locali nativi per la piattaforma (wslc su Windows e container su macOS) prima di usare Docker e Podman.
  • I file generati dalla compilazione TypeScript delle librerie di classi Razor ora si integrano correttamente con la pipeline Static Web Assets.
  • La CLI dotnet non disattiva più il server di compilazione MSBuild quando DOTNET_CLI_USE_MSBUILD_SERVER non è definito e l'esportatore di telemetria OTLP si attiva con qualsiasi variabile di ambiente standard OTEL_EXPORTER_OTLP_*.

Per altre informazioni, vedere Novità dell'SDK per .NET 11.

ASP.NET Core

Per informazioni sulle novità di ASP.NET Core, vedere E novità di ASP.NET Core per .NET 11.

C# 15

C# 15 include queste funzionalità:

Per informazioni sulle nuove funzionalità di C#, vedere Novità di C# 15.

EF Core

Vedere Novità di EF Core per .NET 11.

Librerie di estensioni

Consultare le note sulla versione di dotnet/extensions.

Windows Forms

Vedi Novità di Windows Forms per .NET 11.

macchine virtuali Windows

Vedere Novità di macchine virtuali Windows in .NET 11.

Vedere anche