Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Non verranno generate nuove versioni del pacchetto NuGet Microsoft.DotNet.PlatformAbstractions .
Descrizione delle modifiche
In precedenza, sono state prodotte nuove versioni della Microsoft.DotNet.PlatformAbstractions libreria 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 nelle namespace System.*. Inoltre, alcune Microsoft.DotNet.PlatformAbstractions API 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 Microsoft.DotNet.PlatformAbstractions libreria sono ora 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
PlatformAbstractionsAPI con le sostituzioni consigliate.PlatformAbstractionsAPISostituzione consigliata ApplicationEnvironment.ApplicationBasePathAppContext.BaseDirectory HashCodeCombiner System.HashCode RuntimeEnvironment.GetRuntimeIdentifier()RuntimeInformation.RuntimeIdentifier RuntimeEnvironment.OperatingSystemPlatformRuntimeInformation.IsOSPlatform(OSPlatform) RuntimeEnvironment.RuntimeArchitectureRuntimeInformation.ProcessArchitecture RuntimeEnvironment.OperatingSystemRuntimeInformation.OSDescription RuntimeEnvironment.OperatingSystemVersionRuntimeInformation.OSDescription e Environment.OSVersion Annotazioni
La maggior parte dei casi d'uso per
RuntimeEnvironment.OperatingSystemeRuntimeEnvironment.OperatingSystemVersionè per scopi di visualizzazione, ad esempio la visualizzazione a un utente, la registrazione e la telemetria. Non è consigliabile prendere decisioni di runtime 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 .
Le API interessate
Microsoft.DotNet.PlatformAbstractions.ApplicationEnvironment.ApplicationBasePath- Microsoft.DotNet.PlatformAbstractions.HashCodeCombiner
Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment.GetRuntimeIdentifier()Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment.OperatingSystemMicrosoft.DotNet.PlatformAbstractions.RuntimeEnvironment.OperatingSystemPlatformMicrosoft.DotNet.PlatformAbstractions.RuntimeEnvironment.OperatingSystemVersionMicrosoft.DotNet.PlatformAbstractions.RuntimeEnvironment.RuntimeArchitecture