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 bibliothèque Microsoft.DotNet.PlatformAbstractions étaient produites en même temps que de nouvelles versions de .NET Core. À l’avenir, aucune nouvelle fonctionnalité ne sera 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 bibliothèque Microsoft.DotNet.PlatformAbstractions 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 du système d’exploitation actuelle. Cette conception d’énumération a été explicitement rejetée lors de la conception de l’API RuntimeInformation.IsOSPlatform(OSPlatform) , afin de permettre la création de nouvelles plateformes et la flexibilité future.

Les scénarios activés par la bibliothèque Microsoft.DotNet.PlatformAbstractions sont désormais possibles sans elle. 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 les versions antérieures de la bibliothèque si elles répondent à vos besoins.

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

    PlatformAbstractions 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

    Notes

    La plupart des cas d’usage pour RuntimeEnvironment.OperatingSystem et RuntimeEnvironment.OperatingSystemVersion sont à des fins d’affichage, par exemple, l’affichage pour 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 renvoyez la version retournée par uname. Pour obtenir le nom et la version de la distribution Linux, 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