Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Die folgenden Attribute, die in .NET 5 Preview 8 eingeführt wurden, wurden entfernt oder umbenannt: MinimumOSPlatformAttribute, , RemovedInOSPlatformAttributeund ObsoletedInOSPlatformAttribute.
Änderungsbeschreibung
.NET 5 Preview 8 hat die folgenden Attribute im System.Runtime.Versioning Namespace eingeführt:
MinimumOSPlatformAttributeRemovedInOSPlatformAttributeObsoletedInOSPlatformAttribute
Wenn in .NET 5 Preview 8 ein Projekt auf eine betriebssystemspezifische Variante von .NET 5 abzielt, indem ein Zielframeworkmoniker wie z. B. net5.0-windows verwendet wird, fügt der Build das Attribut System.Runtime.Versioning.MinimumOSPlatformAttribute auf Assembly-Ebene hinzu.
In .NET 5 RC1 wurde die ObsoletedInOSPlatformAttribute Datei entfernt und MinimumOSPlatformAttributeRemovedInOSPlatformAttribute wie folgt umbenannt:
| Name in Preview 8 | Name ab RC1 |
|---|---|
MinimumOSPlatformAttribute |
SupportedOSPlatformAttribute |
RemovedInOSPlatformAttribute |
UnsupportedOSPlatformAttribute |
Wenn ab .NET 5 RC1 ein Projekt auf eine betriebssystemspezifische Variante von .NET 5 abzielt, indem ein Zielframeworkmoniker wie z. B. net5.0-windows verwendet wird, fügt der Build das Attribut SupportedOSPlatformAttribute auf Assembly-Ebene hinzu.
Grund für Änderung
.NET 5 Preview 8 hat Attribute System.Runtime.Versioning eingeführt, um unterstützte Plattformen für APIs anzugeben. Die Attribute werden von der Plattformkompatibilitätsanalyse verwendet, um Buildwarnungen zu erzeugen, wenn plattformspezifische APIs auf Plattformen genutzt werden, die diese APIs nicht unterstützen.
Für .NET 5 RC1 wurde dem Plattformkompatibilitätsanalysator für den Plattformausschluss ein zusätzliches Feature hinzugefügt. Mit dem Feature können APIs auf Betriebssystemplattformen als vollständig nicht unterstützt markiert werden. Dieses Feature fordert Änderungen an den Attributen auf, einschließlich der Verwendung geeigneterer Namen. Die ObsoletedInOSPlatformAttribute Option wurde entfernt, da sie nicht mehr benötigt wurde.
Eingeführte Version
5.0 RC1
Empfohlene Aktion
Wenn Sie Ihr Projekt von .NET 5 Preview 8 auf .NET 5 RC1 neu zuweisen, treten aufgrund dieser Änderungen möglicherweise Build- oder Laufzeitfehler auf. Die Umbenennung von MinimumOSPlatformAttribute beispielsweise führt wahrscheinlich zu Fehlern, da das Attribut zur Erstellungszeit auf plattformspezifische Assemblys angewendet wird, und alte Buildartefakte verweisen weiterhin auf den alten API-Namen.
Beispiele für Fehler zur Buildzeit:
- Fehler CS0246: Der Typ- oder Namespacename MinimumOSPlatformAttribute wurde nicht gefunden (fehlt eine using-Direktive oder ein Assemblyverweis?)
- Fehler CS0246: Der Typ- oder Namespacename RemovedInOSPlatformAttribute wurde nicht gefunden (fehlt eine using-Direktive oder ein Assemblyverweis?)
- Fehler CS0246: Der Typ- oder Namespacename ObsoletedInOSPlatformAttribute wurde nicht gefunden (fehlt eine using-Direktive oder ein Assemblyverweis?)
Beispiel für Laufzeitfehler:
Ausnahmefehler. System.TypeLoadException: Der Typ 'System.Runtime.Versioning.MinimumOSPlatformAttribute' konnte nicht aus der Assembly 'System.Runtime, Version=5.0.0.0,0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' geladen werden.
So beheben Sie diese Fehler:
- Aktualisieren Sie alle Verweise von
MinimumOSPlatformAttributeauf SupportedOSPlatformAttribute. - Aktualisieren Sie alle Verweise von
RemovedInOSPlatformAttributeauf UnsupportedOSPlatformAttribute. - Entfernen Sie alle Verweise auf
ObsoletedInOSPlatformAttribute. - Erstellen Sie Ihr Projekt neu (oder führen Sie clean + build) aus, um alte Buildartefakte zu löschen.
Betroffene APIs
System.Runtime.Versioning.MinimumOSPlatformAttributeSystem.Runtime.Versioning.ObsoletedInOSPlatformAttributeSystem.Runtime.Versioning.RemovedInOSPlatformAttribute