Rückgabe der korrekten Betriebssystemversion durch Environment.OSVersion
Environment.OSVersion gibt die tatsächliche Betriebssystemversion (OS) zurück, anstatt beispielsweise das Betriebssystem zurückzugeben, das für die Anwendungskompatibilität ausgewählt ist.
Änderungsbeschreibung
In früheren .NET-Versionen gibt Environment.OSVersion eine Betriebssystemversion zurück, die möglicherweise falsch ist, wenn eine Anwendung im Windows-Kompatibilitätsmodus ausgeführt wird. Weitere Informationen finden Sie in den Hinweisen zur GetVersionExA-Funktion. Unter macOS gibt Environment.OSVersion die zugrunde liegende Darwin-Kernelversion zurück.
Ab .NET 5 gibt Environment.OSVersion die tatsächliche Version des Windows- oder macOS-Betriebssystems zurück.
In der folgenden Tabelle werden die Verhaltensunterschiede aufgeführt.
Frühere .NET-Versionen | .NET 5 und höher | |
---|---|---|
Windows | 6.2.9200.0 | 10.0.19042.0 |
macOS | 19.6.0.0 | 10.15.7 |
Grund für die Änderung
Benutzer dieser Eigenschaft erwarten, dass die tatsächliche Version des Betriebssystems zurückgegeben wird. Die meisten .NET-Apps geben die unterstützte Version nicht im Anwendungsmanifest an und verwenden daher die standardmäßig unterstützte Version des dotnet-Hosts. Folglich ist der Kompatibilitätsshim für die ausgeführte App nur selten sinnvoll. Wenn Windows eine neue Version veröffentlicht und ein älterer dotnet-Host weiterhin verwendet wird, verwenden diese Apps möglicherweise eine falsche Betriebssystemversion. Die Rückgabe der tatsächlichen Version entspricht eher den Erwartungen der Entwickler dieser API.
Mit der Einführung von OperatingSystem.IsWindowsVersionAtLeast, OperatingSystem.IsMacOSVersionAtLeast und System.Runtime.Versioning.SupportedOSPlatformAttribute in .NET 5 wurde Environment.OSVersion geändert, um mehr Konsistenz für Windows und macOS einzuführen.
Eingeführt in Version
5.0
Empfohlene Maßnahme
Überprüfen und testen Sie den von Environment.OSVersion verwendeten Code, um sicherzustellen, dass sich dieser wie gewünscht verhält.
Betroffene APIs
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für