Das Paket Microsoft.DotNet.PlatformAbstractions wurde entfernt
Es werden keine neuen Versionen des Microsoft.DotNet.PlatformAbstractions-Pakets erzeugt.
Änderungsbeschreibung
Zuvor wurden neue Versionen der Microsoft.DotNet.PlatformAbstractions-Bibliothek zusammen mit neuen Versionen von .NET Core erstellt. In Zukunft werden der Bibliothek keine neuen Funktionen hinzugefügt, und es werden keine neuen Hauptversionen mehr veröffentlicht. Vorhandene Versionen der Bibliothek funktionieren jedoch weiterhin und werden gewartet.
Die Microsoft.DotNet.PlatformAbstractions-Bibliothek überschneidet sich mit APIs, die bereits in den System.*-Namespaces eingerichtet sind. Außerdem werden einige Microsoft.DotNet.PlatformAbstractions-APIs nicht mit dem gleichen Maß an Genauigkeit und langfristiger Unterstützbarkeit wie die übrigen System.*-APIs entworfen. Microsoft.DotNet.PlatformAbstractions verwendet beispielsweise die Platform
-Enumeration, um die aktuelle Betriebssystemplattform zu beschreiben. Dieser Enumerationsentwurf wurde explizit abgelehnt, als die RuntimeInformation.IsOSPlatform(OSPlatform)-API entworfen wurde, um neue Plattformen und zukünftige Flexibilität zu ermöglichen.
Die von der Microsoft.DotNet.PlatformAbstractions-Bibliothek aktivierten Szenarios sind jetzt ohne sie möglich. Vorhandene Versionen funktionieren weiterhin, auch in .NET 5 und später, und werden zusammen mit früheren Versionen von .NET Core gewartet. Der Bibliothek werden jedoch keine neuen Funktionen hinzugefügt. Stattdessen werden anderen Bibliotheken und APIs neue Funktionen hinzugefügt.
Eingeführt in Version
5.0
Empfohlene Maßnahme
Sie können weiterhin ältere Versionen der Bibliothek verwenden, wenn diese Ihre Anforderungen erfüllen.
Wenn die älteren Versionen Ihre Anforderungen nicht erfüllen, ersetzen Sie die Verwendung der
PlatformAbstractions
-APIs durch die empfohlenen Ersetzungen.PlatformAbstractions
-APIEmpfohlener Ersatz ApplicationEnvironment.ApplicationBasePath
AppContext.BaseDirectory HashCodeCombiner System.HashCode RuntimeEnvironment.GetRuntimeIdentifier()
RuntimeInformation.RuntimeIdentifier RuntimeEnvironment.OperatingSystemPlatform
RuntimeInformation.IsOSPlatform(OSPlatform) RuntimeEnvironment.RuntimeArchitecture
RuntimeInformation.ProcessArchitecture RuntimeEnvironment.OperatingSystem
RuntimeInformation.OSDescription RuntimeEnvironment.OperatingSystemVersion
RuntimeInformation.OSDescription und Environment.OSVersion Hinweis
Die meisten Anwendungsfälle für
RuntimeEnvironment.OperatingSystem
undRuntimeEnvironment.OperatingSystemVersion
dienen zu Anzeigezwecken, zum Beispiel die Anzeige eines Benutzers, der Protokollierung und der Telemetrie. Es wird nicht empfohlen, Entscheidungen zur Runtime basierend auf der Betriebssystemversion zu treffen. Environment.OSVersion gibt nun die korrekte Version für die Betriebssysteme Windows und macOS zurück. Für die meisten Unix-Distributionen ist das, was man als „Betriebssystemversion“ bezeichnet, nicht ganz so einfach. Es kann beispielsweise hier die Linux-Kernelversion sein oder die Distributionsversion. Bei den meisten Unix-Plattformen geben Environment.OSVersion und RuntimeInformation.OSDescription die Version zurück, die vonuname
zurückgegeben wird. Der empfohlene Ansatz zum Abrufen des Linux-Distributionsnamens und der Version ist es, die Datei /etc/os-release zu lesen.
Betroffene APIs
Microsoft.DotNet.PlatformAbstractions.ApplicationEnvironment.ApplicationBasePath
- Microsoft.DotNet.PlatformAbstractions.HashCodeCombiner
Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment.GetRuntimeIdentifier()
Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment.OperatingSystem
Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment.OperatingSystemPlatform
Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment.OperatingSystemVersion
Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment.RuntimeArchitecture