Breaking Changes in .NET 6

Wenn Sie eine App zu .NET 6 migrieren, sind Sie möglicherweise von den hier aufgeführten Breaking Changes betroffen. Änderungen werden nach Technologiebereich gruppiert, z. B. ASP.NET Core oder Windows Forms.

Hinweis

Dies ist nicht die endgültige Fassung dieses Artikels. Nicht alle Breaking Changes für .NET 6 werden hier aufgeführt. Informationen zu noch nicht veröffentlichten Breaking Changes finden Sie unter Issues of .NET.

ASP.NET Core

Titel Binärkompatibel Quellkompatibel Eingeführt
AddDataAnnotationsValidation-Methode als veraltet erklärt ✔️
Assemblys, die aus dem freigegebenen Microsoft.AspNetCore.App-Framework entfernt wurden ✔️
Blazor: Der Parametername wurde in der RequestImageFileAsync-Methode geändert. ✔️ Vorschauversion 1
Blazor: WebEventDescriptor.EventArgsType-Eigenschaft ersetzt
Blazor: Bytearray-Interop ✔️ Vorschau 6
Geänderte MessagePack-Bibliothek in @microsoft/signalr-protocol-msgpack ✔️
Die Eigenschaft „ClientCertificate“ löst keine erneute Aushandlung für HttpSys aus ✔️
EndpointName-Metadaten werden nicht automatisch festgelegt ✔️ RC 2
Kestrel: Protokollmeldungsattribute geändert ✔️
Microsoft.AspNetCore.Http.Features Aufteilung ✔️
Middleware: HTTPS-Umleitungsmiddleware löst Ausnahme für mehrdeutige HTTPS-Ports aus ✔️
Middleware: Neue Use-Überladung ✔️ Vorschauversion 4
Minimale API-Umbenennungen in RC 1 RC 1
Minimale API-Umbenennungen in RC 2 RC 2
MVC puffert keine IAsyncEnumerable-Typen, wenn System.Text.Json verwendet wird ✔️ Vorschauversion 4
Anmerkungen für Nullable-Verweistypen geändert ✔️
Veraltete und entfernte APIs ✔️ Vorschauversion 1
PreserveCompilationContext nicht standardmäßig konfiguriert ✔️
Razor: Compiler erzeugt keine Views-Assembly mehr ✔️ Vorschauversion 3
Razor: Änderungen der Protokollierungs-ID ✔️ RC1
Razor: RazorEngine-APIs wurden als veraltet gekennzeichnet ✔️ Vorschauversion 1
SignalR: Java-Client auf RxJava3 aktualisiert ✔️ Vorschauversion 4
TryParse- und BindAsync-Methoden werden überprüft RC 2

Core .NET-Bibliotheken

Titel Binärkompatibel Quellkompatibel Eingeführt
Veraltete APIs ohne Standarddiagnose-IDs ✔️ Vorschauversion 1
Änderungen an Anmerkungen für Nullable-Verweistypen ✔️ Vorschau 1–2
Bedingte Zeichenfolgenauswertung in Debugmethoden ✔️ RC 1
Environment.ProcessorCount-Verhalten unter Windows ✔️ Vorschau 2
File.Replace unter Unix löst Ausnahmen aus, um eine Übereinstimmung mit Windows zu erreichen ✔️ Preview 7
FileStream sperrt Dateien mit freigegebener Sperre unter Unix ✔️ Vorschauversion 1
FileStream synchronisiert den Dateioffset nicht mehr mit dem Betriebssystem Vorschauversion 4
FileStream.Position-Aktualisierung nach Abschluss von ReadAsync oder WriteAsync Vorschauversion 4
Neue Diagnose-IDs für veraltete APIs ✔️ Vorschauversion 5
Neue Nullable-Anmerkung in AssociatedMetadataTypeTypeDescriptionProvider ✔️ RC 2
Neue Überladungen der System.Linq.Queryable-Methode ✔️ Vorschau 3–4
Ältere Frameworkversionen aus Paket gelöscht ✔️ Vorschauversion 5
Parameternamen geändert ✔️ Vorschauversion 1
Parameternamen in von Stream abgeleiteten Typen ✔️ Vorschauversion 1
Teilweise und Null-Byte-Lesevorgänge in DeflateStream, GZipStream und CryptoStream ✔️ Vorschau 6
Standardmäßige Zahlenformatanalysegenauigkeit ✔️ Vorschau 2
Statische abstrakte Member in Schnittstellen ✔️ Preview 7
StringBuilder.Append-Überladungen und Auswertungsreihenfolge ✔️ RC 1
System.Drawing.Common wird nur für Windows unterstützt Preview 7
System.Security.SecurityContext wurde als veraltet markiert ✔️ RC 1
Task.FromResult gibt möglicherweise ein Singleton zurück ✔️ Vorschauversion 1
Nicht behandelte Ausnahmen von einem BackgroundService ✔️ Vorschauversion 4
Änderung der NULL-Zulässigkeit bei XmlDocument.XmlResolver ✔️ RC 1
XNodeReader.GetAttribute-Verhalten für ungültigen Index ✔️ Vorschau 2

Kryptografie

Titel Binärkompatibel Quellkompatibel Eingeführt
CreateEncryptor-Methoden lösen Ausnahme bei falscher Feedbackgröße aus ✔️ Preview 7

Entity Framework Core

Breaking Changes in EF Core 6

Erweiterungen

Titel Binärkompatibel Quellkompatibel Eingeführt
Überprüfen des Nicht-NULL-Anbieters durch AddProvider ✔️ RC 1
Ausgabe von InvalidDataException durch FileConfigurationProvider.Load ✔️ RC 1
Ausnahme durch Lösen eines verworfenen ServiceProviders ✔️ RC 1

Globalisierung

Titel Binärkompatibel Quellkompatibel Eingeführt
Kulturerstellung und Zuordnung von Groß-/Kleinbuchstaben im globalisierungsinvarianten Modus Preview 7

Interop

Titel Binärkompatibel Quellkompatibel Eingeführt
Statische abstrakte Member in Schnittstellen ✔️ Preview 7

JIT-Compiler

Titel Binärkompatibel Quellkompatibel Eingeführt
Coerce-Aufrufargumente gemäß ECMA-335 ✔️ ✔️ Vorschauversion 1

Netzwerk

Titel Binärkompatibel Quellkompatibel Eingeführt
Port aus SPN für Kerberos und Negotiate entfernt ✔️ RC 1
WebRequest, WebClient und ServicePoint sind veraltet. ✔️ Vorschauversion 1

SDK

Titel Binärkompatibel Quellkompatibel Eingeführt
-p-Option für dotnet run ist veraltet ✔️ Vorschau 6
C#-Code in Vorlagen, die von früheren Versionen nicht unterstützt werden ✔️ ✔️ Preview 7
Implizit enthaltene EditorConfig-Dateien ✔️
Generieren von apphost für macOS ✔️ Vorschau 6
Generieren eines Fehlers für doppelte Dateien in der Veröffentlichungsausgabe ✔️ Vorschauversion 1
„GetTargetFrameworkProperties“ und „GetNearestTargetFramework“ wurden aus dem ProjectReference-Protokoll entfernt ✔️ Vorschauversion 1
Implizite globale using-Anweisungen in C#-Projekten ✔️ RC 1
Installationsspeicherort für x64-Emulationen unter ARM64 ✔️ RC 2
MSBuild unterstützt das Aufrufen von GetType() nicht mehr RC 1
OutputType nicht automatisch auf WinExe festgelegt ✔️ RC 1
RuntimeIdentifier-Warnung, wenn „SelfContained“ nicht angegeben ist ✔️ RC 1

Serialisierung

Titel Binärkompatibel Quellkompatibel Eingeführt
IAsyncEnumerable-Serialisierung ✔️ Vorschauversion 4
Refactoring der Quellgenerierungs-API für JSON ✔️ RC 2
JsonNode unterstützt den C#-dynamic-Typ nicht mehr ✔️ Preview 7
JsonNumberHandlingAttribute in Auflistungseigenschaften ✔️ RC 1
Neue JsonSerializer-Quellgeneratorüberladungen ✔️ Vorschau 6

Windows Forms

Titel Binärkompatibel Quellkompatibel Eingeführt
C#-Vorlagen verwenden Anwendungsbootstrap ✔️ RC 1
Ausgewählte TableLayoutSettings-Eigenschaften, die eine InvalidEnumArgumentException-Ausnahme auslösen ✔️ Vorschauversion 1
Mit DataGridView verbundene APIs lösen jetzt InvalidOperationException aus ✔️ Vorschauversion 4
ListViewGroupCollection-Methoden lösen neue InvalidOperationException aus ✔️ RC 2
Maximale Textlänge für NotifyIcon.Text erhöht ✔️ Vorschauversion 1
Manche APIs lösen ArgumentNullException aus ✔️ Vorschau 1–4
TreeNodeCollection.Item löst eine Ausnahme aus, wenn der Knoten an anderer Stelle zugewiesen wird. ✔️ Vorschauversion 1