Pacchetto Microsoft.DotNet.PlatformAbstractions rimosso
Non verranno generate nuove versioni del pacchetto NuGet Microsoft.DotNet.PlatformAbstractions.
Descrizione delle modifiche
In precedenza, sono state prodotte nuove versioni della libreria Microsoft.DotNet.PlatformAbstractions insieme alle nuove versioni di .NET Core. In futuro, non verranno aggiunte nuove funzionalità alla libreria e non verranno rilasciate nuove versioni principali. Tuttavia, le versioni esistenti della libreria continueranno a funzionare e verranno gestite.
La libreria Microsoft.DotNet.PlatformAbstractions si sovrappone alle API già stabilite negli spazi dei nomi System.*. Inoltre, alcune API Microsoft.DotNet.PlatformAbstractions non sono state progettate con lo stesso livello di controllo e di supporto a lungo termine del resto delle API System.*. Ad esempio, Microsoft.DotNet.PlatformAbstractions usa l'enumerazione Platform
per descrivere la piattaforma del sistema operativo corrente. Questa progettazione di enumerazione è stata rifiutata in modo esplicito quando l'API RuntimeInformation.IsOSPlatform(OSPlatform) è stata progettata, per consentire nuove piattaforme e flessibilità future.
Gli scenari abilitati dalla libreria Microsoft.DotNet.PlatformAbstractions ora sono possibili senza di esso. Le versioni esistenti continueranno a funzionare, anche in .NET 5 e versioni successive, e verranno gestite insieme alle versioni precedenti di .NET Core. Tuttavia, le nuove funzionalità non verranno aggiunte alla libreria. Verranno invece aggiunte nuove funzionalità ad altre librerie e API.
Versione introdotta
5.0
Azione consigliata
Se soddisfano i requisiti, è possibile continuare a usare le versioni precedenti della libreria.
Se le versioni precedenti non soddisfano i requisiti, sostituire gli utilizzi delle API
PlatformAbstractions
con le sostituzioni consigliate.PlatformAbstractions
APISostituzione consigliata 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 e Environment.OSVersion Nota
La maggior parte dei casi d'uso per
RuntimeEnvironment.OperatingSystem
eRuntimeEnvironment.OperatingSystemVersion
è per scopi di visualizzazione, ad esempio la visualizzazione a un utente, la registrazione e la telemetria. Non è consigliabile prendere decisioni in fase di esecuzione in base a una versione del sistema operativo. Environment.OSVersion ora restituisce la versione corretta per i sistemi operativi Windows e macOS. Tuttavia, per la maggior parte delle distribuzioni Unix, ciò che viene considerato come la "versione del sistema operativo" non è così semplice. Ad esempio, potrebbe trattarsi della versione del kernel Linux o potrebbe trattarsi della versione della distribuzione. Per la maggior parte delle piattaforme Unix, Environment.OSVersion e RuntimeInformation.OSDescription restituiscono la versione restituita dauname
. Per ottenere le informazioni sul nome e sulla versione della distribuzione Linux, l'approccio consigliato consiste nel leggere il file /etc/os-release.
API interessate
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