2015-10-25 10 views
12

Utilizzo di Windows 10, aggiornato da windows 8 => 8.1 => 10 Quando utilizzo questo codice.System.Environment.OSVersion restituisce la versione errata

OperatingSystem os = System.Environment.OSVersion; 

L'os.Version = {} 6.2.9200.0 System.Version

ho letto questo era a causa della versione era manifested for ma non capisco cosa voglia dire.

Desidero la versione del sistema operativo corretta perché sto registrando una stringa di agente utente su un servizio Web e desidero identificare correttamente la versione di Windows per il supporto. qual è il modo più semplice per farlo per segnalare correttamente la versione corretta?

risposta

14

Windows 10 restituisce tale stringa a meno che non dichiari che l'applicazione è compatibile utilizzando un manifest. Per fare ciò aggiungere un app.manifest (tasto destro del progetto -> Aggiungi -> Nuovo elemento -> Applicazioni manifest) rimuovere il commento dalla seguente riga:

<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" /> 

Si può fare la stessa cosa per Windows Vista a Windows 10. Tutti sono nella stessa sezione:..

<application> 
    <!-- A list of the Windows versions that this application has been tested on and is 
     is designed to work with. Uncomment the appropriate elements and Windows will 
     automatically selected the most compatible environment. --> 

    <!-- Windows Vista --> 
    <!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />--> 

    <!-- Windows 7 --> 
    <!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />--> 

    <!-- Windows 8 --> 
    <!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />--> 

    <!-- Windows 8.1 --> 
    <!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />--> 

    <!-- Windows 10 --> 
    <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" /> 

</application> 

Ed ora, quando si esegue l'applicazione che ti denuncio il corretto 10,0 * 0 versione

+0

Grazie, che ha lavorato per una compilazione di debug, ma quando compilo per rilascia ancora restituisce la versione di Windows 8.1. "NT 6.2". cosa ho perso? – pgee70

+1

@ pgee70 Non c'è nient'altro. Ho provato dalla mia parte e funziona sia in versione che in debug. Assicurati che sia l'exe giusto che stai implementando e nella configurazione del tuo progetto nella scheda Applicazione che il manifest corretto sia incluso come puoi vedere [qui] (http://i.imgur.com/WxuZ8KW.png?1) – Nasreddine

Problemi correlati