Environment.OSVersion devuelve la versión correcta del sistema operativo
Environment.OSVersion devuelve la versión real del sistema operativo en lugar de, por ejemplo, el sistema operativo seleccionado para la compatibilidad de aplicaciones.
Descripción del cambio
En versiones anteriores de .NET, Environment.OSVersion devuelve una versión del sistema operativo que puede ser incorrecta cuando una aplicación se ejecuta en modo de compatibilidad de Windows. Para más información, vea Notas de la función GetVersionExA. En macOS, Environment.OSVersion devuelve la versión subyacente del kernel de Darwin.
A partir de .NET 5, Environment.OSVersion devuelve la versión real del sistema operativo para Windows y macOS.
En la tabla siguiente se muestra la diferencia en el comportamiento.
Versiones anteriores de .NET | .NET 5 y versiones posteriores | |
---|---|---|
Windows | 6.2.9200.0 | 10.0.19042.0 |
macOS | 19.6.0.0 | 10.15.7 |
Motivo del cambio
Los usuarios de esta propiedad esperan que devuelva la versión real del sistema operativo. La mayoría de las aplicaciones .NET no especifican su versión compatible en el manifiesto de aplicación y, por tanto, obtienen la versión admitida predeterminada del host dotnet. Como resultado, la corrección de compatibilidad no suele ser significativa para la aplicación que se está ejecutando. Cuando Windows lanza una nueva versión y todavía se está usando un host dotnet anterior, estas aplicaciones pueden obtener una versión incorrecta del sistema operativo. La devolución de la versión real está más alineada con las expectativas de los desarrolladores de esta API.
Con la introducción de OperatingSystem.IsWindowsVersionAtLeast, OperatingSystem.IsMacOSVersionAtLeast y System.Runtime.Versioning.SupportedOSPlatformAttribute en .NET 5, Environment.OSVersion ha cambiado a fin de ser coherente para Windows y macOS.
Versión introducida
5.0
Acción recomendada
Revise y pruebe cualquier código que use Environment.OSVersion para asegurarse de que se comporta como espera.
API afectadas
Comentaris
https://aka.ms/ContentUserFeedback.
Properament: al llarg del 2024 eliminarem gradualment GitHub Issues com a mecanisme de retroalimentació del contingut i el substituirem per un nou sistema de retroalimentació. Per obtenir més informació, consulteu:Envieu i consulteu els comentaris de