Cuando llame a la versión de Windows 10 con:
Environment.OSVersion.ToString()devolver esto

¿Las versiones de Windows 8 y 8.1 devuelven 6.2 no 6.3?
Estoy usando Windows 10 RTM (actualización desde Insider con actualización de Windows) VS 2015 RC y .Net 4.6
Ahora necesito obtener la versión correcta de Windows, ¿alguna solución?
No es un error, está en MSDN:
Windows 10 Insider Preview 10.0* Windows Server Technical Preview 10.0* Windows 8.1 6.3**: Para aplicaciones que se han manifestado para Windows 8.1 o Windows 10 Insider Preview. Las aplicaciones no manifestadas para Windows 8.1 o Windows 10 Insider Preview devolverán el valor de la versión del sistema operativo Windows 8 (6.2) . Para manifestar sus aplicaciones para Windows 8.1 o Windows 10 Insider Preview, consulte Orientación de su aplicación para Windows .
¿Para qué necesitas la versión de Windows de todos modos?
Use la consulta WMI en su lugar, es la forma más confiable de obtener la versión y el nombre del producto relacionado.
public static KeyValuePair<string, string> GetOSVersionAndCaption() { KeyValuePair<string, string> kvpOSSpecs = new KeyValuePair<string, string>(); ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT Caption, Version FROM Win32_OperatingSystem"); try { foreach (var os in searcher.Get()) { var version = os["Version"].ToString(); var productName = os["Caption"].ToString(); kvpOSSpecs = new KeyValuePair<string, string>(productName, version); } } catch { } return kvpOSSpecs; }Windows 10 tiene una nueva clave de registro: obtendrá un resultado de 10 de Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "CurrentMajorVersionNumber", Nothing) y (en teoría) no de versiones anteriores.
Esto se ejecuta en 0 milisegundos según el objeto del cronómetro, mientras que el método WMI me toma al menos 30 ms.