Pakiet Microsoft.DotNet.PlatformAbstractions został usunięty
Nie zostaną utworzone żadne nowe wersje pakietu NuGet Microsoft.DotNet.PlatformAbstractions.
Opis zmiany
Wcześniej nowe wersje Microsoft.DotNet.PlatformAbstractions biblioteki zostały utworzone wraz z nowymi wersjami platformy .NET Core. W przyszłości żadne nowe funkcje nie zostaną dodane do biblioteki i nie zostaną wydane żadne nowe wersje główne. Jednak istniejące wersje biblioteki będą nadal działać i być obsługiwane.
Biblioteka Microsoft.DotNet.PlatformAbstractions nakłada się na interfejsy API, które zostały już utworzone w przestrzeniach nazw System.*. Ponadto niektóre Microsoft.DotNet.PlatformAbstractions interfejsy API nie zostały zaprojektowane z tym samym poziomem kontroli i długoterminową obsługą co pozostałe interfejsy API Systemu.* Na przykład używa wyliczenia Platform
do Microsoft.DotNet.PlatformAbstractions opisania bieżącej platformy systemu operacyjnego. Ten projekt wyliczania został jawnie odrzucony, gdy RuntimeInformation.IsOSPlatform(OSPlatform) interfejs API został zaprojektowany, aby umożliwić korzystanie z nowych platform i przyszłej elastyczności.
Scenariusze włączone przez bibliotekę Microsoft.DotNet.PlatformAbstractions są teraz możliwe bez niego. Istniejące wersje będą nadal działać, nawet na platformie .NET 5 lub nowszym i będą obsługiwane wraz z poprzednimi wersjami platformy .NET Core. Jednak nowe funkcje nie zostaną dodane do biblioteki. Zamiast tego nowe funkcje zostaną dodane do innych bibliotek i interfejsów API.
Wprowadzona wersja
5,0
Zalecana akcja
Możesz nadal używać starszych wersji biblioteki, jeśli spełniają twoje wymagania.
Jeśli starsze wersje nie spełniają Twoich wymagań, zastąp użycie interfejsów
PlatformAbstractions
API zalecanymi zamiennikami.PlatformAbstractions
APIZalecane zastąpienie 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 i Environment.OSVersion Uwaga
Większość przypadków użycia dla
RuntimeEnvironment.OperatingSystem
funkcji iRuntimeEnvironment.OperatingSystemVersion
służy do wyświetlania, na przykład wyświetlania użytkownikowi, rejestrowaniu i telemetrii. Nie zaleca się podejmowania decyzji w czasie wykonywania na podstawie wersji systemu operacyjnego. Environment.OSVersion Teraz zwraca poprawną wersję dla systemów operacyjnych Windows i macOS. Jednak w przypadku większości dystrybucji systemu Unix to, co jest uważane za "wersję systemu operacyjnego", nie jest tak proste. Na przykład może to być wersja jądra systemu Linux lub wersja dystrybucji. W przypadku większości platform Environment.OSVersion Unix i RuntimeInformation.OSDescription zwróć wersję zwracaną przezuname
program . Aby uzyskać informacje o nazwie dystrybucji systemu Linux i wersji, zalecanym podejściem jest odczytanie pliku /etc/os-release .
Dotyczy interfejsów 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