Freigeben über


Paketteil-URIs werden jetzt in System.IO.Packaging unabhängig von Groß- und Kleinschreibung verglichen.

Zuvor wurden Teilenamen und Außerkraftsetzungen, die sich nur durch ASCII-Groß-/Kleinschreibung unterscheiden (z. B. /part vs /PART), nicht als gleichwertig in System.IO.Packaging angesehen, obwohl die Open Packaging Conventions (OPC)-Spezifikation die Gleichwertigkeit bei Groß-/Kleinschreibung fordert (§7.2.3.5, ECMA-376). Diese Änderung behebt den Fehler und bringt .NET 5-9 in Einklang mit .NET Framework und der OPC-Spezifikation.

Eingeführt in Version

.NET 8

Vorheriges Verhalten

Bei URI-Vergleichen wird zwischen Groß- und Kleinschreibung unterschieden. Fehlgeschlagene Inhaltstypüberschreibungen traten auf, wenn die Groß-/Kleinschreibung zwischen dem Teil-URI und dem Überschreibungseintrag unterschiedlich war. Einige nicht konforme Pakete mit doppelten Einträgen, die sich nur in der Groß- und Kleinschreibung unterscheiden (zum Beispiel /part und /PART), könnten geladen werden, was zu mehrdeutigen Ergebnissen führt.

Neues Verhalten

Bei URI-Vergleichen wird die Groß-/Kleinschreibung nicht beachtet (StringComparison.OrdinalIgnoreCase). Außerkraftsetzungen mit unterschiedlichen Groß-/Kleinschreibungen funktionieren jetzt wie erwartet. Nicht kompatible Pakete mit mehreren Einträgen, die sich nur je nach Fall unterscheiden, werden jetzt abgelehnt, wenn sie geöffnet werden. Dies entspricht .NET Framework und der OPC-Spezifikation.

Art der einschneidenden Änderung

Dies ist eine Verhaltensänderung.

Grund für Änderung

Diese Änderung stimmt das Verhalten von System.IO.Packaging ab mit:

  • Die OPC-Spezifikation (URI-Äquivalenz zwischen Groß- und Kleinschreibung ist erforderlich).
  • Vorhandenes .NET Framework-Verhalten, das bereits den Abgleich zwischen Groß- und Kleinschreibung erzwingt.

Sie verhindert mehrdeutige Nachschlagevorgänge, stellt konsistente Ergebnisse sicher und behebt das Problem dotnet/runtime#112783.

Stellen Sie sicher, dass OPC-Pakete keine Teilenamen enthalten, die nur nach Groß-/Kleinschreibung abweichen, da dies gemäß der OPC-Spezifikation ungültig ist.

Wenn Pakete konsumiert werden, die gegen die Spezifikation verstoßen:

  • Wenden Sie sich an den Paketautor, um das Paket zu beheben.
  • Wenn Sie den Inhalt lesen oder prüfen müssen, können Sie das Paket als ZIP-Archiv öffnen. Im Gegensatz zur Paket-API erzwingen ZIP-Archive keine OPC-Regeln und ermöglichen es Ihnen, auf alle Einträge zuzugreifen, einschließlich derjenigen mit widersprüchlichen Fallnamen.

Betroffene APIs