Nieuw in .NET 11

In dit artikel worden nieuwe functies in .NET 11 beschreven. Het is voor het laatst bijgewerkt voor Preview 6.

.NET 11 is momenteel beschikbaar als preview-versie. De definitieve release wordt verwacht in november 2026. U kunt hier .NET 11 downloaden.

.NET runtime

De runtime .NET 11 omvat:

  • Minimale hardwarevereisten voor x86/x64- en Arm64-architecturen bijgewerkt, waarvoor modernere instructiesets nodig zijn om de prestaties te verbeteren en de complexiteit van het onderhoud te verminderen.
  • Runtime-systeemeigen asynchroon (Runtime Async), waarmee schonere stacktraceringen en lagere overhead worden geproduceerd. Runtime Async vereist niet langer <EnablePreviewFeatures>true</EnablePreviewFeatures> voor projecten die gericht zijn op net11.0. De runtimebibliotheken zelf worden gecompileerd met runtime-async=on.
  • Prestatieverbeteringen voor runtime-async, waaronder JIT-compilatie van een specifieke runtime-async-versie van synchrone methoden die een taak retourneren, asynchrone vervolgstappen die afzien van het vastleggen van ExecutionContext wanneer er geen omringende context in gebruik is, en samengevoegde onderbrekingspunten aan het einde die de grootte van de gegenereerde code verminderen.
  • JIT-verbeteringen voor de eliminatie van bereikcontroles, het verwijderen van redundante checked-contexten, het samenvouwen van switch-expressies, constantevouwing SequenceEqual, en de eliminatie van redundante vertakkingen. Er zijn ook nieuwe arm-SVE2-intrinsieken, verbeterde hardware-intrinsieke kostenmodellering en een snellere Math.BigMul versie op x64 die één MUL instructie verzendt.
  • Logboekregistratie van in-process crashrapporten op mobiele platforms die de beheerde stack-tracering en runtimestatus vastleggen voordat het proces wordt afgesloten.
  • NativeAOT maakt snellere interface-aanroepen mogelijk met behulp van een gedeelde dispatch-helper, waardoor de binaire grootte bij aanroepplaatsen afneemt en de doorvoer voor interface-intensieve workloads verbetert.
  • API’s voor SIMD-laneconstructie en -samenstelling (CreateGeometricSequence, Zip, Unzip en de Concat-familie) in Vector128<T>, Vector256<T>, Vector512<T>, Vector64<T> en Vector<T>.

Zie What's new in the .NET 11 runtime voor meer informatie.

.NET bibliotheken

De .NET 11-bibliotheken bevatten nieuwe API's voor:

  • Process uitbreiding met run-and-capture helpers, fire-and-forget-lanceringen, SafeProcessHandle levenscyclusmethoden, strakkere greepcontrole en nieuw ProcessStartInfo.StartSuspended voor onderbroken start en Process.TryGetProcessById voor veilig zoeken van processen.
  • Compressie, waaronder verbeterde Base64-API's, nieuwe methoden voor ZIP-archiefvermeldingen, Zstandard-compressie in System.IO.Compressionen CRC32-validatie bij het lezen van ZIP-vermeldingen.
  • Verbeteringen in System.Text.Json, waaronder het ophalen van generieke type-informatie, JsonNamingPolicy.PascalCase, overschrijvingen van naamgevingsbeleid per lid, negeervoorwaarden op typeniveau, ondersteuning voor gediscrimineerde unies in F#, Utf8JsonWriter.Reset met opties, SerializeAsyncEnumerable-overloads voor PipeWriter-doelen en uitvoer van waarden op het hoogste niveau (NDJSON), en serialisatie van C#-unietypen.
  • Ingebouwde metrische gegevens van OpenTelemetry voor MemoryCache.
  • Scaffolding voor gediscrimineerde unions (UnionAttribute en IUnion) in System.Runtime.CompilerServices.
  • Selectie van de indeling van het tar-archief en ondersteuning voor GNU sparse-indeling 1.0.
  • Console ondersteuning voor de FORCE_COLOR omgevingsvariabele.
  • Versterking van de TLS-handshake en waarschuwingen voor certificaatvalidatie op Linux.
  • Automatische downgrade van HTTP/2 voor Windows-verificatie.
  • Verbeteringen in LINQ-joins, waaronder FullJoin en overloads van Join en GroupJoin die tuples retourneren, in Enumerable, Queryable en AsyncEnumerable.
  • Een nieuwe X25519DiffieHellman klasse voor X25519-sleuteluitwisseling.
  • Algemene overbelastingen op Random en NextInteger<T>NextBinaryFloat<T> die werken met elk numeriek algemeen type.
  • EqualityComparer<T>.Create fabrieksmethode die een vergelijker maakt op basis van een sleutelselector.
  • QuicStream.Priority voor prioriteitstelling van HTTP/3-stromen.
  • Videoconstanten voor MIME-typen in MediaTypeNames.Video.
  • Vier nieuwe Stream typen (ReadOnlyMemoryStream, WritableMemoryStream, ReadOnlySequenceStream, StringStream) die gegevens in het geheugen verpakken zonder te kopiëren.
  • Asynchrone validatie via System.ComponentModel.DataAnnotationsAsyncValidationAttribute, IAsyncValidatableObjecten nieuwe Validator.ValidateObjectAsync methoden.
  • Configuratie voor het traceren van activiteiten op basis van regels in Microsoft.Extensions.Diagnostics, waarmee declaratieve controle over het traceren van Activity mogelijk wordt zonder handmatig ActivityListener-instanties te koppelen.
  • Cross-lane-vectorbewerkingen, waaronder CreateGeometricSequence, Zip, Unzip en de Concat-familie op Vector128<T>, Vector256<T>, Vector512<T>, Vector64<T> en Vector<T>.

Zie What's new in the .NET 11 libraries voor meer informatie.

.NET SDK

De .NET 11 SDK bevat:

  • Kleinere SDK-installatieprogramma's op Linux en macOS door deduplicatie van assemblies, met extra besparingen door crossgen over te slaan voor assemblies die alleen uit DotnetTools bestaan.
  • Verbeterde CA1873-codeanalyse met verminderde ruis en duidelijkere diagnostische berichten.
  • Ondersteuning voor het maken en bewerken van oplossingsfilters (.slnf) vanuit de dotnet sln CLI.
  • Ondersteuning voor bestandsgebaseerde apps om met #:include apps over meerdere bestanden te verdelen en met #:include ./libs/MyLib.dll gecompileerde DLL-verwijzingen rechtstreeks op te nemen.
  • Een nieuwe dotnet run -e optie voor het doorgeven van omgevingsvariabelen vanaf de opdrachtregel.
  • dotnet watch verbeteringen, waaronder Aspire app-host-integratie, automatisch herstel na een crash en apparaatselectie voor MAUI en mobiele projecten.
  • OpenTelemetry vervangt Application Insights voor CLI-telemetrie.
  • NativeAOT CLI-ingangspunt dat de volledige opdrachtenset biedt—including --help voor alle ingebouwde opdrachten en het starten van hulpprogramma's en externe opdrachten—buiten het proces vanaf het AOT-pad, waarbij het opstarten van de beheerde CLI wordt overgeslagen.
  • dotnet test verbeteringen, waaronder --no-dependencies, DOTNET_TEST_RUNNER omgevingsvariabele, --use-current-runtime, --test-modules uitsluitingspatronen, testaantallen per assembly en liveweergave van actieve tests.
  • Ingebouwde testsjablonen ondersteunen xUnit v3 (standaard ingesteld op Microsoft. Testing.Platform) en NUnit met een opt-in-optie--test-runner.
  • Het bouwen van containerimages voor meerdere architecturen met Podman en de ondersteuning van de SDK voor het publiceren van containers.
  • TypeScript-compilatie-uitvoer van Razor-klassebibliotheken kan nu correct worden geïntegreerd met de Static Web Assets-pijplijn.
  • De dotnet CLI onderdrukt de MSBuild-buildserver niet meer wanneer DOTNET_CLI_USE_MSBUILD_SERVER deze niet is ingesteld en de OTLP-telemetrieexporteur wordt geactiveerd op een standaardomgevingsvariabele OTEL_EXPORTER_OTLP_* .

Zie What's new in the SDK for .NET 11 voor meer informatie.

ASP.NET Core

Zie What's new in ASP.NET Core for .NET 11 voor meer informatie over wat er nieuw is in ASP.NET Core.

C# 15

C# 15 bevat de volgende functies:

Zie wat er nieuw is in C# 15 voor informatie over nieuwe C#-functies.

EF Core

Zie What's new in EF Core for .NET 11.

Bibliotheken met extensies

Zie opmerkingen bij de release van dotnet/extensions.

Windows Forms

Zie What's new in Windows Forms for .NET 11.

WPF

Zie What's new in WPF in .NET 11.

Zie ook