Neuerungen in .NET 11

In diesem Artikel werden neue Features in .NET 11 beschrieben. Es wurde zuletzt für Preview 7 aktualisiert.

.NET 11 ist derzeit als Preview-Version verfügbar. Die endgültige Version wird im November 2026 erwartet. Sie können .NET 11 hier herunterladen.

.NET-Runtime

Die .NET 11 Laufzeit umfasst:

  • Aktualisierte Mindesthardwareanforderungen für x86/x64- und Arm64-Architekturen, die modernere Anweisungssätze erfordern, um die Leistung zu verbessern und die Wartungskomplexität zu verringern.
  • Laufzeit-native Asynchronität (Runtime Async), die sauberere Stack-Traces und geringeren Overhead erzeugt. Runtime Async erfordert <EnablePreviewFeatures>true</EnablePreviewFeatures> für Projekte, die auf net11.0 abzielen, nicht mehr. Die Laufzeitbibliotheken selbst werden mit runtime-async=on kompiliert.
  • Leistungsverbesserungen bei der asynchronen Laufzeit einschließlich der JIT-Kompilierung einer dedizierten asynchroner Laufzeitversion von Methoden, die Aufgaben synchron zurückgeben, asynchroner Fortsetzungen, die auf die Erfassung durch ExecutionContext verzichten, wenn kein Umgebungszustand vorliegt, und am Ende zusammengeführter Unterbrechungspunkte, die die Größe des generierten Codes reduzieren.
  • Asynchrone stufenweise Kompilierung während der Laufzeit, intrinsische „task“- und „value-task“-Factory-Funktionen sowie implizite Tailcall-Verbesserungen, die Allokationen während des Warm-ups reduzieren und gängige await-Pfade beschleunigen.
  • JIT-Verbesserungen für die Beseitigung von Begrenzungsprüfungen, die Entfernung redundanter überprüfter Kontexte, die Devirtualisierung, die Faltung von Switch-Ausdrücken, die Konstantenfaltung SequenceEqual und die Eliminierung redundanter Verzweigungen. Darüber hinaus gibt es neue intrinsische Arm-SVE2-Funktionen, eine verbesserte hardware-intrinsische Kostenmodellierung und ein schnelleres Math.BigMul auf x64, das eine einzige MUL-Instruktion erzeugt.
  • CoreCLR unter WebAssembly führt jetzt die Testsuite der Bibliotheken durchgängig aus, und die Laufzeitumgebung unterstützt nun intrinsische AVX-VNNI-512-Hardwarefunktionen für vektorisierte Multiplikations-/Additionsworkloads.
  • Prozessinterne Protokollierung von Absturzberichten auf mobilen Plattformen, die die verwaltete Stapelverfolgung und den Laufzeitzustand erfasst, bevor der Prozess beendet wird.
  • NativeAOT beschleunigt Schnittstellenaufrufe mithilfe einer gemeinsamen Dispatch-Hilfsroutine, wodurch die Binärgröße an den Aufrufstellen reduziert und der Durchsatz bei schnittstellenintensiven Workloads verbessert wird.
  • APIs zur Konstruktion und Komposition von SIMD-Lanes (CreateGeometricSequence, Zip, Unzip und die Concat-Familie) für Vector128<T>, Vector256<T>, Vector512<T>, Vector64<T> und Vector<T>.

Weitere Informationen finden Sie unter What's new in the .NET 11 runtime.

.NET-Bibliotheken

Die .NET 11-Bibliotheken enthalten neue APIs für:

  • Process-Erweiterung mit Hilfsfunktionen zum Ausführen und Erfassen, Fire-and-Forget-Startvorgängen, SafeProcessHandle-Lebenszyklusmethoden, präziserer Handle-Steuerung sowie neuen ProcessStartInfo.StartSuspended für ausgesetzte Starts und Process.TryGetProcessById(Int32, Process) für die sichere Prozessermittlung.
  • Komprimierung, einschließlich verbesserter Base64-APIs, neue Methoden für ZIP-Archiveinträge, Zstandard-Komprimierung in System.IO.Compressionund CRC32-Überprüfung beim Lesen von ZIP-Einträgen.
  • Neue numerische APIs, einschließlich IEEE 754-Dezimal-Gleitkommatypen (Decimal32, Decimal64 und Decimal128), INumberBase<TSelf>.TryParsePartial für Trennzeichen-unterstütztes Parsen und generische Complex<T>.
  • System.Text.Json-Verbesserungen, darunter das Abrufen generischer Typinformationen, JsonNamingPolicy.PascalCase, Überschreibungen der Benennungsrichtlinie pro Member, Ignorierenbedingungen auf Typebene, Unterstützung für Discriminated Union in F#, Utf8JsonWriter.Reset mit Optionen, SerializeAsyncEnumerable-Überladungen für PipeWriter-Ziele und Ausgabe mit Werten auf oberster Ebene (NDJSON) sowie Serialisierung von C#-Union-Typen.
  • Integrierte OpenTelemetry-Metriken für MemoryCache.
  • Scaffolding mit Discriminated Union (UnionAttribute und IUnion) in System.Runtime.CompilerServices.
  • Auswahl des Tar-Archivformats und Unterstützung für GNU-Sparse-Format 1.0.
  • Console Unterstützung für die FORCE_COLOR Umgebungsvariable.
  • Härtung des TLS-Handshakes und Warnungen zur Zertifikatsprüfung unter Linux.
  • Erweiterungen im Netzwerkbereich, darunter Wrapper zur Komprimierung von HTTP-Anforderungstexten, konfigurierbare Bereinigung von HTTP-Verbindungen und typisierte APIs zur Auflösung von DNS-Einträgen.
  • Automatisches Downgrade für die Windows-Authentifizierung unter HTTP/2.
  • Verbesserungen bei LINQ-Joins, z. B. FullJoin sowie Join- und GroupJoin-Überladungen mit Tupel-Rückgabe für Enumerable, Queryable und AsyncEnumerable.
  • Eine neue X25519DiffieHellman Klasse für den X25519-Schlüsselaustausch.
  • Generische Überladungen für RandomNextInteger<T> und NextBinaryFloat<T> —, die mit jedem numerischen generischen Typ funktionieren.
  • EqualityComparer<T>.Create-Factory-Methode, die aus einem Schlüsselselektor eine Vergleichsfunktion erstellt.
  • QuicStream.Priority für HTTP/3-Streampriorisierung.
  • Video MIME-Typkonstanten in MediaTypeNames.Video.
  • Vier neue Stream Typen (ReadOnlyMemoryStream, WritableMemoryStream, ReadOnlySequenceStream), StringStreamdie In-Memory-Daten umschließen, ohne sie zu kopieren.
  • Asynchrone Validierung in System.ComponentModel.DataAnnotations über AsyncValidationAttribute, IAsyncValidatableObject und neue Validator.ValidateObjectAsync-Methoden.
  • Konfiguration der Aktivitätsverfolgung mithilfe von Regeln in Microsoft.Extensions.Diagnostics, wodurch die deklarative Steuerung der Activity-Verfolgung ermöglicht wird, ohne ActivityListener-Instanzen manuell zu konfigurieren.
  • Cross-Lane-Vektoroperationen, einschließlich CreateGeometricSequence, Zip, Unzip und der Concat-Familie auf Vector128<T>, Vector256<T>, Vector512<T>, Vector64<T> und Vector<T>.

Weitere Informationen finden Sie unter What's new in the .NET 11 libraries.

.NET SDK

Das .NET 11 SDK umfasst:

  • Kleinere SDK-Installationsprogramme unter Linux und macOS durch Deduplizierung von Assemblys, mit zusätzlichen Einsparungen durch das Überspringen von Crossgen für Assemblys nur mit DotnetTools.
  • Verbesserte CA1873-Codeanalyse mit reduzierten Rauschen und klareren Diagnosemeldungen.
  • Unterstützung für das Erstellen und Bearbeiten von Lösungsfiltern (.slnf) aus der dotnet sln CLI.
  • Dateibasierte App-Unterstützung für #:include zur Aufteilung von Apps auf mehrere Dateien sowie #:include ./libs/MyLib.dll zum direkten Einbinden kompilierter DLL-Referenzen.
  • Eine neue dotnet run -e Option zum Übergeben von Umgebungsvariablen über die Befehlszeile.
  • dotnet watch-Verbesserungen, darunter z. B. Aspire-App-Host-Integration, automatische Absturzwiederherstellung und Geräteauswahl für MAUI- und mobile Projekte.
  • OpenTelemetry ersetzt Application Insights für CLI-Telemetrie.
  • NativeAOT-CLI-Einstiegspunkt, der die vollständige Befehlsoberfläche bereitstellt – einschließlich --help für alle integrierten Befehle sowie für Tool-/interne Befehlsstart – und dies außerhalb des Prozesses über den AOT-Pfad ausführt, wobei der verwaltete CLI-Start übersprungen wird.
  • NativeAOT CLI und der MSBuild-Server sind jetzt standardmäßig aktiviert.
  • dotnet test-Verbesserungen, einschließlich --no-dependencies, DOTNET_TEST_RUNNER-Umgebungsvariable, --use-current-runtime, --test-modules-Ausschlussmuster, Testanzahlen pro Assembly und Liveanzeige aktuell laufender Tests.
  • Zu den weiteren dotnet test-Verbesserungen gehören --timeout auf Ausführungsebene und --maximum-failed-tests, die Unterstützung für Traversal-Projekte, die JSON-Ausgabe für --list-tests sowie die Nachbearbeitung von Artefakten bei Ausführungen mehrerer Module.
  • Integrierte Testvorlagen unterstützen xUnit v3 (Standardeinstellung für Microsoft. Testing.Platform) und NUnit mit einer Opt-In-Option--test-runner.
  • Erstellen von Container-Images für mehrere Architekturen mit Podman mithilfe der Containerveröffentlichungsunterstützung des SDKs.
  • Die Containerveröffentlichung bevorzugt jetzt plattformeigene lokale Runtimes (wslc auf Windows und container unter macOS) vor Docker und Podman.
  • TypeScript-Kompilierungsausgaben aus Razor-Klassenbibliotheken sind jetzt ordnungsgemäß in die Pipeline für statische Webressourcen integriert.
  • Die dotnet CLI unterdrückt den MSBuild-Buildserver nicht mehr, wenn DOTNET_CLI_USE_MSBUILD_SERVER dies nicht festgelegt ist, und der OTLP-Telemetrieexporteur wird für jede Standardumgebungsvariable OTEL_EXPORTER_OTLP_* aktiviert.

Weitere Informationen finden Sie unter Neuerungen im SDK für .NET 11.

ASP.NET Core

Informationen zu den Neuerungen in ASP.NET Core finden Sie unter What's new in ASP.NET Core for .NET 11.

C# 15

C# 15 enthält die folgenden Features:

Informationen zu neuen C#-Features finden Sie unter Neuigkeiten in C# 15.

EF Core

Siehe Neuigkeiten in EF Core für .NET 11.

Erweiterungsbibliotheken

Siehe Versionshinweise zu dotnet/extensions.

Windows Forms

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

WPF

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

Siehe auch