Удален пакет 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