Auf Englisch lesen

Freigeben über


Breaking Changes in .NET 5

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

In diesem Artikel wird erläutert, ob jeder Breaking Change binärkompatibel oder quellkompatibel ist:

  • Binärkompatibel: Vorhandene Binärdateien werden ohne Neukompilierung geladen und ausgeführt, und das Laufzeitverhalten ändert sich nicht.
  • Quellkompatibel: Der Quellcode wird ohne Änderungen erfolgreich kompiliert, wenn er auf die neue Runtime abzielt oder das neue SDK oder die neue Komponente verwendet.

ASP.NET Core

Titel Binärkompatibel Quellkompatibel
ASP.NET Core-Apps deserialisieren Zahlen in Anführungszeichen. ✔️
Die APIs AzureAD.UI und AzureADB2C.UI sind veraltet. ✔️
Die BinaryFormatter-Serialisierungsmethoden sind veraltet. ✔️
Die Ressource im Endpunktrouting ist HttpContext ✔️
Azure-Integrationspakete mit Präfix „Microsoft“ entfernt ✔️
Blazor: Logik für die Routingrangfolge in Blazor-Apps geändert ✔️
Blazor: Aktualisierte Browserunterstützung ✔️ ✔️
Blazor: Unbedeutende Leerzeichen, die vom Compiler entfernt wurden ✔️
Blazor: Die JSObjectReference- und JSInProcessObjectReference-Typen sind intern. ✔️
Blazor: Das Zielframework von NuGet-Paketen wurde geändert ✔️
Blazor: Feature ProtectedBrowserStorage wurde in das freigegebene Framework verschoben ✔️
Blazor: Schreibgeschützte öffentliche RenderTreeFrame-Felder sind jetzt Eigenschaften. ✔️
Blazor: Aktualisierte Validierungslogik für statische Webressourcen ✔️
Kryptografie-APIs werden im Browser nicht unterstützt. ✔️
Erweiterungen: Paketverweisänderungen ✔️
BadHttpRequestException-Typen für Kestrel und IIS sind veraltet. ✔️
HttpClient-Instanzen, die von IHttpClientFactory erstellt wurden, protokollieren Integerstatuscodes ✔️
HttpSys: Erneute Aushandlung für Clientzertifikate standardmäßig deaktiviert ✔️
IIS: Abfragezeichenfolgen für die UrlRewrite-Middleware werden beibehalten ✔️
Kestrel: Standardmäßig erkannte Konfigurationsänderungen ✔️
Kestrel: Standardmäßig unterstützte TLS-Protokollversionen geändert ✔️
Kestrel: HTTP/2 über TLS ist für nicht kompatible Windows-Versionen deaktiviert ✔️ ✔️
Kestrel: Markierung von libuv-Transport als veraltet ✔️
Veraltete Eigenschaften in ConsoleLoggerOptions ✔️
ResourceManagerWithCultureStringLocalizer-Klasse und WithCulture-Schnittstellenmember entfernt ✔️
„Pubternal“-APIs entfernt ✔️
Ein veralteter Konstruktor wurde in der Middleware für Anforderungslokalisierung entfernt ✔️
Middleware: Datenbankfehlerseite als veraltet markiert ✔️
Ausnahmehandlermiddleware löst ursprüngliche Ausnahme aus ✔️ ✔️
ObjectModelValidator ruft eine neue Überladung von Validate auf ✔️
Die Codierung für Cookienamen wurde entfernt ✔️
Die Versionen des IdentityModel-NuGet-Pakets wurden aktualisiert ✔️
SignalR: Optionstyp für das MessagePack-Hubprotokoll geändert ✔️
SignalR: Hub-Protokoll „MessagePack“ wurde verschoben ✔️
UseSignalR- und UseConnections-Methoden entfernt ✔️
CSV-Inhaltstyp in standardkonform geändert ✔️

Codeanalyse

Titel Binärkompatibel Quellkompatibel
CA1416-Warnung ✔️
CA1417-Warnung ✔️
CA1831-Warnung ✔️
CA2013-Warnung ✔️
CA2014-Warnung ✔️
CA2015-Warnung ✔️
CA2200-Warnung ✔️
CA2247-Warnung ✔️

Core .NET-Bibliotheken

Titel Binärkompatibel Quellkompatibel
Assemblybezogene API-Änderungen für Veröffentlichung einer einzelnen Datei ✔️
Die BinaryFormatter-Serialisierungsmethoden sind veraltet. ✔️
Codezugriffssicherheit-APIs sind veraltet. ✔️
CreateCounterSetInstance löst InvalidOperationException aus. ✔️
Das ActivityIdFormat-Standardformat ist W3C ✔️
Environment.OSVersion gibt die richtige Version aus. ✔️
Der Wert von FrameworkDescription entspricht „.NET“ und nicht „.NET Core“. ✔️
Die GAC-APIs sind veraltet. ✔️
Hardwareinterne IsSupported-Überprüfungen ✔️
IntPtr und UIntPtr implementieren IFormattable ✔️
LastIndexOf behandelt leere Suchzeichenfolgen. ✔️
URI-Pfade mit Nicht-ASCII-Zeichen auf UNIX ✔️
Veraltete APIs ohne Standarddiagnose-IDs ✔️
Veraltete Eigenschaften in ConsoleLoggerOptions ✔️
Komplexität von OrderBy.First in LINQ ✔️
OSPlatform-Attribute wurden umbenannt oder entfernt ✔️
Das Paket Microsoft.DotNet.PlatformAbstractions wurde entfernt ✔️
PrincipalPermissionAttribute ist veraltet ✔️
Parameternamensänderungen aus Vorschauversionen ✔️
Änderung des Parameternamen in Verweisassemblys ✔️
Remoting-APIs sind veraltet ✔️
Reihenfolge der „Activity.Tags“-Liste ist umgekehrt. ✔️
SSE- und SSE2-Vergleichsmethoden behandeln NaN. ✔️
Thread.Abort ist veraltet ✔️
URI-Erkennung von UNC-Pfaden unter UNIX ✔️
UTF-7-Codepfade sind veraltet ✔️
Behavior Change für Vector2.Lerp und Vector4.Lerp ✔️
Vector<T> löst NotSupportedException aus ✔️

Kryptografie

Entity Framework Core

Breaking Changes in EF Core 5.0

Globalisierung

Interop

Netzwerk

SDK

Sicherheit

Titel Binärkompatibel Quellkompatibel
Codezugriffssicherheit-APIs sind veraltet. ✔️
PrincipalPermissionAttribute ist veraltet ✔️
UTF-7-Codepfade sind veraltet ✔️

Serialisierung

Windows Forms

WPF

Titel Binärkompatibel Quellkompatibel
OutputType auf WinExe festgelegt ✔️
WPF-Apps verwenden Microsoft.NET.Sdk. ✔️

Weitere Informationen