Auf Englisch lesen

Freigeben über


Breaking Changes in .NET 8

Wenn Sie eine App zu .NET 8 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.

In diesem Artikel werden die einzelnen Breaking Changes als mit der Binärdatei inkompatibel, mit der Quelle inkompatibel oder als Verhaltensänderung kategorisiert:

  • Binärdatei inkompatibel: Wenn sie mit der neuen Runtime oder Komponente ausgeführt werden, kann bei vorhandenen Binärdateien ein Breaking Change im Verhalten auftreten, z. B. Fehler beim Laden oder Ausführen. In diesem Fall müssen sie erneut kompiliert werden.

  • Quelle inkompatibel: Bei der Neukompilierung mit dem neuen SDK oder der neuen Komponente oder zur Ausrichtung auf die neue Runtime sind für vorhandenen Quellcode möglicherweise Quelländerungen erforderlich, damit die Kompilierung erfolgreich ist.

  • Verhaltensänderung: Vorhandener Code und vorhandene Binärdateien können sich zur Laufzeit unterschiedlich verhalten. Wenn das neue Verhalten unerwünscht ist, muss vorhandener Code aktualisiert und neu kompiliert werden.

ASP.NET Core

Container

Core .NET-Bibliotheken

Titel Art der Änderung
Name des Aktivitätsvorgangs bei NULL Behavior Change
Verhalten von AnonymousPipeServerStream.Dispose Behavior Change
Veraltete APIs mit benutzerdefinierten Diagnose-IDs Quelle inkompatibel
Zuordnung des umgekehrten Schrägstrichs in Unix-Dateipfaden Behavior Change
Base64.DecodeFromUtf8-Methoden ignorieren Leerzeichen Behavior Change
Boolesch-unterstützter Enumerationstypsupport wurde entfernt Behavior Change
Complex.ToString-Format geändert in <a; b> Behavior Change
Enumeration des aktuellen Laufwerkverzeichnispfads Behavior Change
Enumerable.Sum löst neue OverflowException für einige Eingaben aus Behavior Change
FileStream-Schreibvorgänge beim Schließen der Pipe Behavior Change
FindSystemTimeZoneById gibt kein neues Objekt zurück Behavior Change
GC.GetGeneration gibt möglicherweise „Int32.MaxValue“ zurück. Behavior Change
GetFolderPath-Verhalten unter Unix Behavior Change
GetSystemVersion gibt nicht mehr ImageRuntimeVersion zurück Behavior Change
ITypeDescriptorContext Nullable-Anmerkungen Quelle inkompatibel
Ältere Console.ReadKey-Methode entfernt Behavior Change
Methoden-Generatoren generieren Parameter, wobei HasDefaultValue auf „false“ gesetzt ist Behavior Change
ProcessStartInfo.WindowStyle berücksichtigt, wenn UseShellExecute „false“ Behavior Change
RuntimeIdentifier gibt Plattform zurück, für die die Runtime erstellt wurde Behavior Change
Type.GetType löst Ausnahme für alle ungültigen Elementtypen aus Behavior Change

Kryptografie

Titel Art der Änderung Eingeführt
Größe des AesGcm-Authentifizierungstags auf macOS Behavior Change Vorschauversion 1
RSA.EncryptValue und RSA.DecryptValue veraltet Quelle inkompatibel Vorschauversion 1

Bereitstellung

Titel Art der Änderung
Host bestimmt RID-spezifische Ressourcen Binär inkompatibel/Verhaltensänderung
.NET Monitor enthält nur unfassbare Bilder Behavior Change
StripSymbols ist standardmäßig auf TRUE festgelegt. Behavior Change

Entity Framework Core

Breaking Changes in EF Core 8

Erweiterungen

Globalisierung

Interop

Netzwerk

Spiegelung

Titel Art der Änderung
IntPtr wird nicht mehr für Funktionszeigertypen verwendet. Behavior Change

SDK

Titel Art der Änderung
CLI-Konsolenausgabe verwendet UTF-8 Verhaltensänderung/Quelle und Binärdatei inkompatibel
Konsolencodierung nach Abschluss nicht UTF-8 Behavioral Change/Binärdatei inkompatibel
Container verwenden standardmäßig das Tag „latest“ Behavior Change
„dotnet pack“ verwendet die Release-Konfiguration. Verhaltensänderung/Quelle inkompatibel
„dotnet publish“ verwendet die Release-Konfiguration. Verhaltensänderung/Quelle inkompatibel
Doppelte Ausgabe bei -getItem, -getProperty und -getTargetResult Behavior Change
Implizites using für System.Net.Http wird nicht mehr hinzugefügt Verhaltensänderung/Quelle inkompatibel
MSBuild – benutzerdefinierte abgeleitete Buildereignisse sind veraltet Behavior Change
MSBuild berücksichtigt DOTNET_CLI_UI_LANGUAGE Behavior Change
Laufzeitspezifische Apps nicht eigenständig Quelle/Binär inkompatibel
Die Option „--arch“ impliziert keine Eigenständigkeit. Behavior Change
„dotnet restore“ erzeugt Sicherheitsrisikowarnungen Behavior Change
SDK verwendet ein kleineres RID-Diagramm Verhaltensänderung/Quelle inkompatibel
Festlegen von DebugSymbols auf FALSE deaktiviert die PDB-Generierung Behavior Change
Source Link ist jetzt im .NET SDK enthalten Quelle inkompatibel
Das Kürzen darf nicht mit .NET Standard oder .NET Framework verwendet werden. Behavior Change
Ungelistete Pakete werden nicht standardmäßig für .NET-Tools installiert Behavior Change
USER-Datei wird in äußere Builds importiert Behavior Change
Versionsanforderungen für .NET 8 SDK Quelle inkompatibel

Serialisierung

Windows Forms

Weitere Informationen