Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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 anet11.0. Le librerie di runtime stesse vengono compilate conruntime-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
ExecutionContextquando 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 diMath.BigMulsu x64 che genera un'unica istruzioneMUL. - 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,Unzipe la famigliaConcat) inVector128<T>,Vector256<T>,Vector512<T>,Vector64<T>eVector<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
SerializeAsyncEnumerableper destinazioniPipeWritere 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 (
UnionAttributeeIUnion) in System.Runtime.CompilerServices. - Selezione del formato archivio Tar e supporto per il formato GNU sparse 1.0.
-
Consolesupporto per la variabile d'ambienteFORCE_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
FullJoine gli overloadJoineGroupJoinche restituiscono tuple, in Enumerable, Queryable e AsyncEnumerable. - X25519DiffieHellman Nuova classe per lo scambio di chiavi X25519.
- Overload generiche per Random —
NextInteger<T>eNextBinaryFloat<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.DataAnnotationstramiteAsyncValidationAttribute,IAsyncValidatableObjecte nuoviValidator.ValidateObjectAsyncmetodi. - Configurazione del tracciamento delle attività tramite le regole in
Microsoft.Extensions.Diagnostics, che consente il controllo dichiarativo del tracciamentoActivitysenza configurare manualmente le istanze diActivityListener. - Operazioni vettoriali tra corsie, tra cui
CreateGeometricSequence,ZipUnzip, e laConcatfamiglia inVector128<T>,Vector256<T>Vector512<T>,Vector64<T>, eVector<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 comandodotnet sln. - Supporto di app basate su file per
#:includesuddividere le app tra più file e#:include ./libs/MyLib.dllincludere direttamente i riferimenti DLL compilati. -
dotnet run -eNuova opzione per passare variabili di ambiente dalla riga di comando. -
dotnet watchmiglioramenti, 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
--helpper 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 testmiglioramenti, tra cui--no-dependencies, laDOTNET_TEST_RUNNERvariabile d'ambiente,--use-current-runtime, i--test-modulespattern di esclusione, il numero di test per assembly e la visualizzazione in tempo reale dei test in esecuzione. - Ulteriori
dotnet testmiglioramenti includono il supporto per--timeouta livello di esecuzione e--maximum-failed-tests, il supporto per i traversal-project, l'output JSON per--list-testse 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-runneresplicito. - 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 (
wslcsu Windows econtainersu 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
dotnetnon disattiva più il server di compilazione MSBuild quandoDOTNET_CLI_USE_MSBUILD_SERVERnon è definito e l'esportatore di telemetria OTLP si attiva con qualsiasi variabile di ambiente standardOTEL_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à:
- Argomenti dell'espressione di raccolta
- Tipi di unione
- Gerarchie chiuse
- Indicizzatori di estensione
-
Con etichetta
breakecontinue - Sicurezza della memoria
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.