Gestern habe ich das Upgrade auf Windows 8.1 über den Microsoft Store installiert.
Etwas erstaunt war ich, als ich gesehen habe, das zwar die korrekte Windows-Versionsnummer 6.3 in der Eingabeaufforderung beim „ver“ Kommando angezeigt wird, aber meiner .Net Anwendungen immer noch die Windows 8 Versionsnummer 6.2 ausgegeben haben.
Tante Google hat mich aufklären können: laut dem Artikel http://msdn.microsoft.com/en-us/library/windows/desktop/dn302074%28v=vs.85%29.aspx sind die Funktionen GetVersion() und GetVersionEx() zum Ermitteln der Windows-Version ab Windows 8 deprecated.
Workaround: entweder gibt man im Anwendungsmanifest wie im Artikel beschrieben an, dass Windows 8.1 das Anwendungs-Target ist, oder man liest die Versionsnummer einfach aus der Registry (Schlüssel SOFTWARE\Microsoft\Windows NT\CurrentVersion, Wert „CurrentVersion„).