Environment.OSVersion vrátí správnou verzi operačního systému.
Environment.OSVersion vrátí skutečnou verzi operačního systému (OS) místo operačního systému vybraného pro kompatibilitu aplikací.
Změna popisu
V předchozích verzích .NET vrátí verzi operačního systému, Environment.OSVersion která může být nesprávná, když aplikace běží v režimu kompatibility Windows. Další informace naleznete v tématu GetVersionExA poznámky funkce. V systému macOS Environment.OSVersion vrátí základní verzi jádra Darwin.
Počínaje rozhraním .NET 5 Environment.OSVersion vrátí skutečnou verzi operačního systému pro Windows a macOS.
Následující tabulka ukazuje rozdíl v chování.
Předchozí verze .NET | .NET 5 nebo novější | |
---|---|---|
Windows | 6.2.9200.0 | 10.0.19042.0 |
macOS | 19.6.0.0 | 10.15.7 |
Důvod změny
Uživatelé této vlastnosti očekávají, že vrátí skutečnou verzi operačního systému. Většina aplikací .NET nezadá v manifestu aplikace podporovanou verzi, a proto z hostitele dotnet získá výchozí podporovanou verzi. V důsledku toho je pro spuštěnou aplikaci zřídka smysluplné překrytí kompatibility. Když Systém Windows vydá novou verzi a staršího hostitele dotnet se stále používá, můžou tyto aplikace získat nesprávnou verzi operačního systému. Vrácení skutečné verze je více v souladu s očekáváními vývojářů tohoto rozhraní API.
Po zavedení OperatingSystem.IsWindowsVersionAtLeastnástroje , OperatingSystem.IsMacOSVersionAtLeasta System.Runtime.Versioning.SupportedOSPlatformAttribute v .NET 5 byla změněna tak, Environment.OSVersion aby byla konzistentní pro Windows a macOS.
Zavedená verze
5,0
Doporučená akce
Zkontrolujte a otestujte veškerý kód, který ho používá Environment.OSVersion , aby se zajistilo, že se chová podle potřeby.
Ovlivněná rozhraní API
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro