Partager via


Le package Microsoft.DotNet.PlatformAbstractions a été supprimé

Aucune nouvelle version du package NuGet Microsoft.DotNet.PlatformAbstractions ne sera produite.

Description de la modification

Auparavant, de nouvelles versions de la Microsoft.DotNet.PlatformAbstractions bibliothèque étaient produites avec de nouvelles versions de .NET Core. À l’avenir, aucune nouvelle fonctionnalité n’est ajoutée à la bibliothèque, et aucune nouvelle version majeure ne sera publiée. Toutefois, les versions existantes de la bibliothèque continueront de fonctionner et d’être prises en charge.

La Microsoft.DotNet.PlatformAbstractions bibliothèque chevauche les API déjà établies dans les espaces de noms System.* . En outre, certaines API Microsoft.DotNet.PlatformAbstractions n’ont pas été conçues avec le même niveau d’examen et de prise en charge à long terme que le reste des API System.*. Par exemple, Microsoft.DotNet.PlatformAbstractions utilise l’énumération Platform pour décrire la plateforme de système d’exploitation actuelle. Cette conception d’énumération a été explicitement rejetée lorsque l’API RuntimeInformation.IsOSPlatform(OSPlatform) a été conçue, afin de permettre de nouvelles plateformes et une flexibilité future.

Les scénarios activés par la Microsoft.DotNet.PlatformAbstractions bibliothèque sont désormais possibles sans celui-ci. Les versions existantes continueront de fonctionner, même dans .NET 5 et versions ultérieures, et seront prises en charge avec les versions précédentes de .NET Core. Toutefois, de nouvelles fonctionnalités ne seront pas ajoutées à la bibliothèque. Au lieu de cela, de nouvelles fonctionnalités seront ajoutées à d’autres bibliothèques et API.

Version introduite

5,0

  • Vous pouvez continuer à utiliser des versions antérieures de la bibliothèque si elles répondent à vos besoins.

  • Si les versions antérieures ne répondent pas à vos besoins, remplacez les utilisations des PlatformAbstractions API par les remplacements recommandés.

    PlatformAbstractions Interface de Programmation d'Applications (API) Remplacement recommandé
    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 et Environment.OSVersion

    Remarque

    La plupart des cas d’usage pour RuntimeEnvironment.OperatingSystem et RuntimeEnvironment.OperatingSystemVersion sont à des fins d’affichage, par exemple, l’affichage à un utilisateur, la journalisation et la télémétrie. Il n’est pas recommandé de prendre des décisions au moment de l’exécution en fonction d’une version du système d’exploitation. Environment.OSVersionretourne maintenant la version correcte pour les systèmes d’exploitation Windows et macOS. Toutefois, pour la plupart des distributions Unix, ce qui est considéré comme la « version du système d’exploitation » n’est pas aussi simple. Par exemple, il peut s’agir de la version du noyau Linux ou de la version de distribution. Pour la plupart des plateformes Unix, Environment.OSVersion et RuntimeInformation.OSDescription retournent la version qui est retournée par uname. Pour obtenir le nom de distribution Linux et les informations de version, l’approche recommandée consiste à lire le fichier /etc/os-release .

API affectées

  • 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