Auf Englisch lesen

Freigeben über


Breaking Changes in .NET 5

Wenn Sie eine App zu .NET 5 migrieren, können sich die hier aufgeführten wichtigen Änderungen auf Sie auswirken. Änderungen werden nach Technologiebereich gruppiert, z. B. ASP.NET Core oder Kryptografie.

In diesem Artikel wird angegeben, ob jede breaking change binär kompatibel oder Quell kompatibel ist.

  • Binärkompatibel : Vorhandene Binärdateien werden ohne erneute Kompilierung erfolgreich geladen und ausgeführt, und das Laufzeitverhalten ändert sich nicht.
  • Source kompatibel - Der Quellcode wird erfolgreich kompiliert, ohne Änderungen vorzunehmen, wenn er auf die neue Laufzeitumgebung abzielt oder das neue SDK oder die neue Komponente verwendet wird.

ASP.NET Kern

Titel Binärkompatibel Quellkompatibel
ASP.NET Core-Apps deserialisieren zitierte Zahlen ✔️
AzureAD.UI und AzureADB2C.UI-APIs veraltet ✔️
BinaryFormatter Serialization-Methoden sind veraltet ✔️
Ressource im Endpunktrouting ist HttpContext ✔️
Microsoft-präfixierte Azure-Integrationspakete entfernt ✔️
Blazor: Routenrangfolgelogik in Blazor-Apps geändert ✔️
Blazor: Aktualisierte Browserunterstützung ✔️ ✔️
Blazor: Unbedeutende Leerzeichen, die vom Compiler gekürzt wurden ✔️
Blazor: JSObjectReference- und JSInProcessObjectReference-Typen sind intern ✔️
Blazor: Zielframework von NuGet-Paketen geändert ✔️
Blazor: ProtectedBrowserStorage-Feature 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: Paketreferenzänderungen ✔️
Kestrel- und IIS BadHttpRequestException-Typen sind veraltet ✔️
HttpClient-Instanzen, die von IHttpClientFactory erstellt wurden, protokollieren Ganzzahl-Statuscodes ✔️
HttpSys: Clientzertifikat-Neuverhandlung standardmäßig deaktiviert ✔️
IIS: UrlRewrite Middleware-Abfragezeichenfolgen bleiben erhalten ✔️
Kestrel: Standardmäßig erkannte Konfigurationsänderungen ✔️
Kestrel: Standardmäßig unterstützte TLS-Protokollversionen geändert ✔️
Kestrel: HTTP/2 wurde über TLS für inkompatible Windows-Versionen deaktiviert ✔️ ✔️
Kestrel: Libuv Transport als veraltet gekennzeichnet ✔️
Veraltete Eigenschaften auf ConsoleLoggerOptions ✔️
ResourceManagerWithCultureStringLocalizer-Klasse und WithCulture-Schnittstellenmitglied entfernt ✔️
Pubternale APIs entfernt ✔️
Veralteter Konstruktor, der in der Anforderungslokalisierungs-Middleware entfernt wurde ✔️
Middleware: Datenbankfehlerseite, die als veraltet gekennzeichnet ist ✔️
Die Middleware des Ausnahmehandlers löst die ursprüngliche Ausnahme aus. ✔️ ✔️
ObjectModelValidator ruft eine neue Überladung von Validate auf. ✔️
Die Codierung des Cookienamens wurde entfernt ✔️
Aktualisierte Versionen des IdentityModel-NuGet-Pakets ✔️
SignalR: Der Typ der MessagePack Hub-Protokolloptionen wurde geändert. ✔️
SignalR: MessagePack Hub Protocol verschoben ✔️
UseSignalR- und UseConnections-Methoden entfernt ✔️
CSV-Inhaltstyp wurde in standardskonform geändert ✔️

Codeanalyse

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

.NET-Kernbibliotheken

Titel Binärkompatibel Quellkompatibel
Assembly-bezogene API-Änderungen für die Einzeldateiveröffentlichung ✔️
BinaryFormatter Serialization-Methoden sind veraltet ✔️
Codezugriffssicherheits-APIs sind veraltet ✔️
CreateCounterSetInstance löst InvalidOperationException aus. ✔️
Standard-ActivityIdFormat ist W3C ✔️
Environment.OSVersion gibt die richtige Version zurück. ✔️
Der Wert von FrameworkDescription ist .NET nicht .NET Core. ✔️
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 auf ConsoleLoggerOptions ✔️
Komplexität von LINQ OrderBy.First ✔️
OSPlatform-Attribute umbenannt oder entfernt ✔️
Microsoft.DotNet.PlatformAbstractions-Paket entfernt ✔️
PrincipalPermissionAttribute ist veraltet ✔️
Parameternamenänderungen aus Vorschauversionen ✔️
Änderungen der Parameternamen in Referenzassemblies ✔️
Remoting-APIs sind veraltet ✔️
Die Reihenfolge der Liste "Activity.Tags" wird umgekehrt. ✔️
SSE- und SSE2-Vergleichsmethoden behandeln NaN ✔️
Thread.Abort ist veraltet ✔️
URI-Erkennung von UNC-Pfaden auf Unix ✔️
UTF-7-Codepfade sind veraltet ✔️
Verhaltensänderung für Vector2.Lerp und Vector4.Lerp ✔️
Vector<T> löst NotSupportedException aus ✔️

Kryptographie

Entity Framework Core (ein Framework zum Arbeiten mit Datenbanken)

Grundlegende Änderungen in EF Core 5.0

Globalisierung

Interoperabilität

Vernetzung

Softwareentwicklungskit (SDK)

Sicherheit

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

Serialisierung

Windows Forms

WPF (Windows Presentation Foundation)

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

Siehe auch


Zusätzliche Ressourcen