Удален пакет Microsoft.DotNet.PlatformAbstractions

Создание новых версий Microsoft.DotNet.PlatformAbstractions NuGet package не предусматривается.

Описание изменения

Ранее новые версии библиотеки Microsoft.DotNet.PlatformAbstractions создавались вместе с новыми версиями .NET Core. В дальнейшем добавление новых функций в библиотеку не предусматривается, как и выпуск новых основных версий. Однако работа и обслуживание существующих версий библиотеки не прекращаются.

Библиотека Microsoft.DotNet.PlatformAbstractions перекрывается с API, которые уже установлены в пространствах имен System.* . Кроме того, некоторые Microsoft.DotNet.PlatformAbstractions API не были разработаны с тем же уровнем контроля и долгосрочной поддержки, что и остальные API System.* . Например, Microsoft.DotNet.PlatformAbstractions использует перечисление Platform для описания текущей платформы операционной системы. От такой модели перечисления отказались при разработке API RuntimeInformation.IsOSPlatform(OSPlatform), чтобы обеспечить поддержку новых платформ и гибкую настройку с учетом новых возможностей.

Сценарии, которые активируются библиотекой Microsoft.DotNet.PlatformAbstractions, теперь могут обходиться без нее. Существующие версии будут продолжать работать даже в .NET 5 и более поздних версиях и обслуживаться наряду с предыдущими версиями .NET Core. Однако новые функции в библиотеку не добавляются. Вместо этого новые функции будут добавляться в другие библиотеки и API-интерфейсы.

Представленные версии

5,0

  • Вы сможете по-прежнему использовать более ранние версии библиотеки, если они соответствуют вашим требованиям.

  • Если старые версии не соответствуют вашим требованиям, замените используемые API PlatformAbstractions на рекомендованные версии.

    API PlatformAbstractions Рекомендуемая замена
    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 и Environment.OSVersion.

    Примечание.

    Большинство сценариев использования RuntimeEnvironment.OperatingSystem и RuntimeEnvironment.OperatingSystemVersion ориентированы на отображение, например на отображение для пользователя, ведение журнала и телеметрических данных. Не рекомендуется принимать решения по среде выполнения, основываясь на версии операционной системы (ОС). Environment.OSVersion теперь возвращает верную версию для операционных систем Windows и macOS. Однако в отношении большинства дистрибутивов Unix "версия ОС" не является однозначным понятием. Например, она может указывать на версию ядра Linux или версию дистрибутива. Для большинства платформ Unix Environment.OSVersion и RuntimeInformation.OSDescription возвращают версию, которая возвращается uname. Сведения об имени и версии дистрибутива Linux приведены в файле /etc/os-release.

Затронутые API

  • 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