Devo determinare la versione di framework .NET più alta installata su un computer desktop dal codice C \ C++. Sembra che io possa iterare le cartelle sotto %systemroot%\Microsoft.NET\Framework
, ma sembra un tipo di errore incline. C'è un modo migliore? Forse una chiave di registro che posso ispezionare? Grazie.Determinare la versione più alta di .NET Framework
risposta
Utilizzare la posizione Windows RegistryHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP
.
chiavi del Registro di sistema per .NET Framework inizia così:
HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\
A seconda della versione, il resto della chiave sarà diverso (check this page).
È possibile cercare come accedere al registro nell'articolo MSDN Using the registry in a C++ application.
Il seguente è supposto per dare la risposta, ma sembra orribilmente rotto :(
c:\Program Files>clrver
Versions installed on the machine:
v2.0.50727
La versione CLR non è necessariamente uguale alla versione .Net. .Net v2.0 ha aggiornato CLR su v1.1, ma .Net v3.0 e v3.5 non ha modificato il CLR, quindi rimane "V2.0.50727" –
Se si sta cercando di fare questo da codice gestito, dare un'occhiata a questo article, che avvolge tutto della logica necessaria per determinare se è installata una versione quadro specifico.
in caso contrario, dare un'occhiata al post sul blog di Aaron here, che dà un metodo di C/C++ per fare la stessa cosa.
- 1. Versione C# e versione di .NET Framework?
- 2. Versione framework .NET utilizzata
- 3. Come determinare la versione minima necessaria di .NET framework per eseguire la mia app
- 4. ottenere la versione .NET framework da un processo di dump
- 5. SQLCLR che utilizza la versione errata di .NET Framework
- 6. Entity Framework 5.0 - è richiesta la versione minima .Net Framework? .Net 4.0 o 4.5?
- 7. Numero versione nell'applicazione .NET Compact Framework
- 8. Determinare la versione di un pacchetto specifico
- 9. Vedere la versione di Entity Framework
- 10. Avviso versione principale 52 è più recente di 51, la versione principale più alta supportata da questo compilatore
- 11. Determinare la versione di Linux da java
- 12. Determinare la versione rubino dall'interno di Rails
- 13. Determinare la versione di Redhat Linux
- 14. Perché la versione di System.dll è 2.x nel mio progetto .net targeting .net framework 3.5?
- 15. algoritmo per determinare la più alta e la più bassa possibile posizione finale di una squadra in un campionato
- 16. .net framework compatto "Target framework"
- 17. Quale versione di framework .net eseguirà una libreria in
- 18. Determinare la versione di SQL Server da ADO.NET
- 19. Quale versione del framework .NET dovrei scegliere come target?
- 20. predefinito di .NET Runtime versione
- 21. Come posso determinare la mia versione ghc?
- 22. La versione di destinazione di .NET Framework non corrisponde alla condizione di avvio
- 23. C'è un modo per modificare la versione di .NET Framework di Visual Studio 2005 a 3.5?
- 24. Numero versione .NET (versione programma di installazione)
- 25. Qual è la differenza tra la versione v2.0.50727.3053 e v2.0.50727.3074 del framework .Net?
- 26. .NET Framework su Android
- 27. Supporto .NET Framework per hardware multicore
- 28. Come si imposta la versione di .NET Framework quando si utilizza New-WebAppPool?
- 29. Perché non viene generata un'eccezione quando non è presente la versione di .NET framework corretta?
- 30. Come si trova la versione di framework .NET utilizzata in un pacchetto SSIS 2008 R2?
Sì, HKLM \ SOFTWARE Impostazione Microsoft \ NET Framework \ NDP sho Sarebbe un po 'più facile. Sembra che dovrò iterare le sottochiavi e quindi interrogare il valore della versione. Grazie. – Charles