Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
No se producirá ninguna nueva versión del paquete NuGet Microsoft.DotNet.PlatformAbstractions .
Descripción del cambio
Anteriormente, se generaron nuevas versiones de la Microsoft.DotNet.PlatformAbstractions biblioteca junto con nuevas versiones de .NET Core. En el futuro, no se agregará ninguna nueva funcionalidad a la biblioteca y no se publicará ninguna nueva versión principal. Sin embargo, las versiones existentes de la biblioteca seguirán funcionando y se atenderán.
La biblioteca Microsoft.DotNet.PlatformAbstractions se superpone a las API que ya están establecidas en los espacios de nombres System.* Además, algunas API Microsoft.DotNet.PlatformAbstractions no se diseñaron con el mismo nivel de escrutinio y compatibilidad a largo plazo que el resto de las API System.* Por ejemplo, Microsoft.DotNet.PlatformAbstractions usa la Platform
enumeración para describir la plataforma del sistema operativo actual. Este diseño de enumeración se rechazó explícitamente cuando se diseñó la RuntimeInformation.IsOSPlatform(OSPlatform) API para permitir nuevas plataformas y flexibilidad futura.
Los escenarios habilitados por la Microsoft.DotNet.PlatformAbstractions biblioteca ahora son posibles sin él. Las versiones existentes seguirán funcionando, incluso en .NET 5 y versiones posteriores, y se atenderán junto con versiones anteriores de .NET Core. Sin embargo, la nueva funcionalidad no se agregará a la biblioteca. En su lugar, se agregará nueva funcionalidad a otras bibliotecas y API.
Versión introducida
5.0
Acción recomendada
Puede seguir usando versiones anteriores de la biblioteca si cumplen sus requisitos.
Si las versiones anteriores no cumplen sus requisitos, reemplace los usos de las
PlatformAbstractions
API por los reemplazos recomendados.PlatformAbstractions
Interfaz de Programación de Aplicaciones (API)Reemplazo recomendado 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 y Environment.OSVersion Nota:
La mayoría de los casos de uso de
RuntimeEnvironment.OperatingSystem
yRuntimeEnvironment.OperatingSystemVersion
son para fines de visualización, por ejemplo, mostrar a un usuario, registro y telemetría. No se recomienda tomar decisiones en tiempo de ejecución en función de una versión del sistema operativo (SO). Environment.OSVersion ahora devuelve la versión correcta para los sistemas operativos Windows y macOS. Sin embargo, para la mayoría de las distribuciones de Unix, lo que se considera como la "versión del sistema operativo" no es tan sencillo. Por ejemplo, podría ser la versión del kernel de Linux o podría ser la versión de distribución. Para la mayoría de las plataformas Unix, Environment.OSVersion y RuntimeInformation.OSDescription devuelven la versión que devuelveuname
. Para obtener la información sobre el nombre y la versión de la distribución de Linux, el enfoque recomendado es leer el archivo /etc/os-release .
Las APIs afectadas
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