Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Erfahren Sie mehr über die neuen Features in .NET 9 und links zu weiteren Dokumentationen.
.NET 9, der Nachfolger von .NET 8, hat einen besonderen Fokus auf cloudeigene Apps und Leistung. Es wird für zwei Jahre als Standard-Term Support (STS)-Version unterstützt. Sie können .NET 9 hier herunterladen.
Neu für .NET 9 veröffentlicht das Entwicklungsteam .NET 9 Vorschauupdates auf GitHub-Diskussionen. Das ist ein großartiger Ort, um Fragen zu stellen und Feedback zur Veröffentlichung zu geben.
.NET-Laufzeit
Die .NET 9-Laufzeit umfasst ein neues Attributmodell für Feature-Schalter mit Unterstützung für Code-Reduzierung. Mit den neuen Attributen können Featureoptionen definiert werden, mit denen Bibliotheken Bereiche der Funktionalität umschalten können.
Garbage Collection enthält eine dynamische Anpassung an die Anwendungsgröße, das standardmäßig anstelle von Server-GC verwendet wird.
Die Laufzeit umfasst auch zahlreiche Leistungsverbesserungen, einschließlich Schleifenoptimierungen, Inlining, ARM64-Vektorisierung und Codegenerierung.
Weitere Informationen finden Sie unter "Neuerungen" in der .NET 9-Laufzeit.
.NET-Bibliotheken
System.Text.Json fügt Unterstützung für Anmerkungen zu Nullable-Verweistypen und das Exportieren von JSON-Schemas aus Typen hinzu. Es fügt neue Optionen hinzu, mit denen Sie den Einzug von geschriebenem JSON anpassen und mehrere JSON-Werte auf Stammebene aus einem einzigen Datenstrom lesen können.
In LINQ können die neuen Methoden CountBy, AggregateBy den Zustand nach Schlüssel aggregieren, ohne die Zuordnung von Zwischengruppierungen über GroupBy vornehmen zu müssen.
Bei Sammlungstypen enthält der System.Collections.Generic.PriorityQueue<TElement,TPriority> Typ eine neue Remove(TElement, TElement, TPriority, IEqualityComparer<TElement>) Methode, mit der Sie die Priorität eines Elements in der Warteschlange aktualisieren können.
Für Kryptografie fügt .NET 9 dem Typ eine neue One-Shot-Hashmethode hinzu CryptographicOperations . Außerdem werden neue Klassen hinzugefügt, die den KMAC-Algorithmus verwenden.
Zur Reflexion können Sie mit dem neuen PersistedAssemblyBuilder Typ eine ausgegebene Assembly speichern . Diese neue Klasse enthält auch die PDB-Unterstützung, d. h., Sie können Symbolinformationen ausgeben und zum Debuggen einer generierten Assembly verwenden.
Die TimeSpan Klasse enthält neue From* Methoden, mit denen Sie ein TimeSpan Objekt aus einem int (anstelle eines double) erstellen können. Diese Methoden helfen, Fehler zu vermeiden, die durch inhärente Ungenauigkeit bei Gleitkommaberechnungen verursacht werden.
Weitere Informationen finden Sie unter Neuigkeiten in den .NET 9-Bibliotheken.
.NET SDK
Das .NET 9 SDK führt Workloadsätze ein, bei denen alle Arbeitslasten auf einer einzigen, bestimmten Version verbleiben, bis sie explizit aktualisiert wurden. Bei Tools lässt eine neue Option für dotnet tool install Benutzer (anstelle von Toolautoren) entscheiden, ob ein Tool auf einer neueren .NET-Laufzeitversion als die vom Tool angezielte Version ausgeführt werden darf. Außerdem:
- Komponententests verfügen über eine bessere MSBuild-Integration, mit der Sie Tests parallel ausführen können.
- Terminal Logger ist standardmäßig aktiviert und hat auch die Benutzerfreundlichkeit verbessert. Beispielsweise wird die Gesamtanzahl der Fehler und Warnungen am Ende eines Builds zusammengefasst.
- Neue MSBuild-Skriptanalysatoren ("Buildprüfungen") sind verfügbar.
- Das SDK kann Versionskonflikten zwischen .NET SDK und MSBuild erkennen und anpassen.
- Der
dotnet workload historyBefehl zeigt den Verlauf der Workloadinstallationen und -änderungen für die aktuelle .NET SDK-Installation an.
Weitere Informationen finden Sie unter Neuigkeiten im SDK für .NET 9.
KI-Bausteine
.NET 9 führt eine einheitliche C#-Abstraktionsebene durch die Pakete Microsoft.Extensions.AI und Microsoft.Extensions.VectorData ein. Diese Abstraktionen erleichtern die Interaktion mit KI-Diensten, einschließlich kleiner und großer Sprachmodelle (SLMs und LLMs), Einbettungen, Vektorspeicher und Middleware.
.NET 9 enthält auch neue Tensortypen, die KI-Funktionen erweitern. TensorPrimitives und der neue Tensor<T> Typ erweitert KI-Funktionen, indem eine effiziente Codierung, Manipulation und Berechnung von mehrdimensionalen Daten ermöglicht wird. Diese Typen finden Sie in der neuesten Version des Pakets "System.Numerics.Tensors".
TensorPrimitives
- Erweiterter Methodenbereich: Von 40 auf fast 200 Überladungen erhöht, einschließlich numerischer Operationen, ähnlich
Math,MathFundINumber<T>für Wertespannen. - Leistungsverbesserungen: Viele Vorgänge sind jetzt SIMD-optimiert, um eine bessere Leistung zu erzielen.
- Generische Überladungen: Unterstützt jeden Typ
T, der eine bestimmte Schnittstelle implementiert, und geht über nur Span von float-Werten in .NET hinaus.
Tensor<T>
- Baut auf
TensorPrimitivesfür effiziente mathematische Operationen auf. - Bietet eine effiziente Interoperabilität mit KI-Bibliotheken (ML.NET, TorchSharp, ONNX Runtime) mithilfe von Nullkopien, sofern möglich.
- Ermöglicht eine einfache und effiziente Datenbearbeitung mit Indizierungs- und Slicing-Vorgängen.
- Ist experimentell in .NET 9.
ML.NET
ML.NET ist ein plattformübergreifendes Open Source-Framework, das die Integration von benutzerdefinierten Machine Learning-Modellen in .NET-Anwendungen ermöglicht.
ML.NET 4.0 bietet folgende Verbesserungen:
- Neue Möglichkeiten zum programmgesteuerten Konfigurieren
MLContextvon Optionen. - Laden Sie ONNX-Modelle als
Stream. - DataFrame-Verbesserungen.
- Neue Funktionen für Tokenizer.
- (Experimentell) TorchSharp-Ports der Modellfamilien Llama und Phi.
- (Experimental) CausalLM-Pipeline-APIs.
Weitere Informationen finden Sie unter Neuigkeiten in ML.NET.
Tokenizer
Die Microsoft.ML.Tokenizers-Bibliothek bietet .NET-Entwicklern Funktionen zum Codieren und Decodieren von Text in Token. Für KI-Szenarien ist dies wichtig, um Kontext zu verwalten, Kosten zu berechnen und Text vorzuverarbeiten, wenn Sie mit lokalen Modellen arbeiten.
Die neueste Version führt erhebliche neue Funktionen für Tokenizer ein:
- Tiktoken für GPT (3, 3.5, 4, 4o, o1) und Llam3-Modelle
- Llama (basierend auf SentencePiece) für Llama und Mistral Modelle
- CodeGen für Codegenerierungsmodelle wie Codegen-350M-mono
- Phi2 (basierend auf CodeGen) für Microsoft Phi2-Modell
- WordPiece
- Bert (basierend auf WordPiece) für Modelle, die von Bert unterstützt werden, wie optimum--all-MiniLM-L6-v2
Streben
Aspire ist eine Reihe leistungsstarker Tools, Vorlagen und Pakete zum Erstellen von feststellbaren, produktionsfähigen Apps. Die neueste Version von Aspire umfasst Verbesserungen des Dashboards und des Ressourcenlebenszyklus-Managements. Außerdem werden neue Integrationen und APIs für mehr Flexibilität während der Entwicklung hinzugefügt. Aspire 9 funktioniert sowohl mit .NET 9- als auch .NET 8-Apps. Weitere Informationen finden Sie unter What's new in Aspire 9.
ASP.NET Kern
ASP.NET Core-Apps, die mit .NET 9 erstellt wurden, sind standardmäßig sicher, haben erweiterte Unterstützung für die Vorabkompilierung und verbesserte Überwachung und Ablaufverfolgung. Mit den Leistungsverbesserungen wird ein höherer Durchsatz und eine schnellere Startzeit angezeigt, und das alles mit weniger Arbeitsspeicherauslastung. ASP.NET Core in .NET 9 umfasst:
- Optimierte Handhabung statischer Dateien, z. B. JavaScript und CSS, während der Erstellungs- und Veröffentlichungszeit mit automatischer Fingerabdruck-Versionsverwaltung.
- Blazor: Neue Hybrid- und Web-App-Vorlagen, Erkennung des Komponenten-Rendermodus, neues Wiederverbindungserlebnis mit Server-Rendering.
- APIs: Integrierte Unterstützung für die Erstellung von OpenAPI-Dokumenten mithilfe von
Microsoft.AspNetCore.OpenAPIsowie erweiterte native AOT-Unterstützung. - Verbesserte Sicherheit mit neuen APIs für Authentifizierung und Autorisierung.
- Einfachere Einrichtung für vertrauenswürdiges Entwicklungszertifikat unter Linux, um HTTPS während der Entwicklung zu aktivieren.
Dies sind nur einige der Features und Verbesserungen in .NET 9. Weitere Informationen finden Sie unter Neuigkeiten in ASP.NET Core 9.0.
.NET MAUI
Der Schwerpunkt der .NET Multi-Platform App UI (.NET MAUI) in .NET 9 ist verbesserte Leistung und Zuverlässigkeit sowie tiefere Integrationen für Desktop- und mobile Anwendungen. .NET MAUI enthält eine neue, leistungsstärkere Implementierung von CollectionView und CarouselView für iOS und Mac Catalyst, Updates für vorhandene Steuerelemente, neue App-Lebenszyklusereignisse und Verbesserungen für Native AOT und Trimming zur Verbesserung der App-Größe und Startzeit. Außerdem:
- Ein neues TitleBar Desktopsteuerelement ist für Windows verfügbar.
- Ein neues HybridWebView Steuerelement ermöglicht die einfachere Einbindung von JavaScript-fähigen Inhalten aus Frameworks wie ReactJS, Vue.jsund Angular.
- Entry unterstützt jetzt zusätzliche Tastaturmodi.
- Steuerelementhandler trennen nach Möglichkeit automatisch die Verbindung mit ihren Steuerelementen.
- MainPage ist veraltet zugunsten der Festlegung der primären App-Seite, indem die Application.CreateWindow(IActivationState) Klasse überschrieben wird.
Weitere Informationen zu diesen neuen Features und mehr finden Sie unter "Neuerungen" in .NET MAUI für .NET 9.
EF Core
Entity Framework Core enthält erhebliche Updates für den Datenbankanbieter für Azure Cosmos DB für NoSQL. Es enthält außerdem einige Schritte in Richtung AOT-Kompilierung und vorab kompilierte Abfragen sowie weitere Verbesserungen. Weitere Informationen finden Sie unter What's New in EF Core 9.
C# 13
C# 13 wird mit dem .NET 9 SDK ausgeliefert und enthält die folgenden neuen Features:
-
paramsSammlungen - Neuer
lockTyp und Semantik - Neue Escape-Sequenz -
\e - Verbesserungen des natürlichen Typs von Methodengruppen
- Impliziter Indexerzugriff in Objektinitialisierern
- Aktivieren von
refLokalen undunsafeKontexten in Iteratoren und asynchronen Methoden - Aktivieren von
ref structTypen zum Implementieren von Schnittstellen - Ref-Strukturtypen als Argumente für Typparameter in Generics zulassen.
- Partielle Eigenschaften und Indexer sind jetzt in
partialTypen zulässig. - Mit der Priorität bei der Auflösung von Überladungen können Bibliotheksautoren eine Überladung als besser als andere einstufen.
Darüber hinaus fügt C# 13 eine Vorschaufunktion hinzu: field unterstützte Eigenschaften.
Weitere Informationen finden Sie unter Neuigkeiten in C# 13.
F# 9
F# 9 wird mit dem .NET 9 SDK ausgeliefert und enthält die folgenden neuen Features:
- Nullwerte zulassende Verweistypen
- Diskriminierte Union .Is*-Eigenschaften
- Partielle aktive Muster können bool anstelle der Einheitenoption zurückgeben.
- Bevorzugen Sie Erweiterungsmethoden statt intrinsische Eigenschaften, wenn Argumente angegeben sind
- Ausdruck von leeren Berechnungsausdrücken
- Hashdirektiven dürfen nicht-Zeichenfolgenargumente annehmen.
- Erweiterte #help-Direktive in fsi, um die Dokumentation in der Lese-Auswerte-Druck-Schleife (REPL) anzuzeigen
- Ermöglichen, dass #nowarn das FS-Präfix für Fehlercodes unterstützt, um Warnungen zu deaktivieren
- Warnung hinsichtlich des TailCall-Attributes für nicht-rekursive Funktionen oder mit let gebundene Werte
- Attribute-Ziele durchsetzen
- Zufällige Funktionen für Sammlungen
- Unterstützung des C#-Sammlungsausdrucks für F#-Listen und -Sätze
- Verschiedene Entwicklerproduktivität, Leistungs- und Toolverbesserungen
Weitere Informationen finden Sie unter Neuigkeiten in F# 9.
Windows Presentation Foundation
WPF in .NET 9 bietet erweiterte Unterstützung für die Erstellung moderner Apps mit mehreren Designverbesserungen und mehr:
- Unterstützung für das Windows Fluent-Design.
- Designunterstützung für den hellen und dunklen Modus in Windows hinzugefügt.
- Themes unterstützen jetzt die Windows-Akzentfarbe.
- Das Rendern von Schriftarten wurde verbessert, um Bindestrich-basierte Ligaturen zu unterstützen.
-
BinaryFormatterwird nicht mehr unterstützt.
Weitere Informationen finden Sie unter Neuigkeiten in WPF für .NET 9.
Windows Forms
WinForms in .NET 9 bietet Unterstützung für neue Designs, Verbesserungen für asynchrone Entwicklung und vieles mehr:
-
FormundTaskDialogunterstützenShowDialogAsyncjetzt. (Experimentelles Feature) -
BinaryFormatterwird nicht mehr unterstützt. - Experimentelle Unterstützung für das Rendern der App im dunklen Modus, wie von Windows unterstützt.
-
FolderBrowserDialogundToolStriphaben einige geringfügige Verbesserungen erfahren. - Die Bibliothek "System.Drawing " verfügt über viele Verbesserungen, darunter das Umschließen von GDI+-Effekten, die Unterstützung für
ReadOnlySpanund eine bessere Interopcodegenerierung.
Weitere Informationen finden Sie unter Neuigkeiten in Windows Forms für .NET 9.