回答
private static void GetVersionFromRegistry()
{
using (RegistryKey ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine,
RegistryView.Registry32).OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\"))
{
foreach (string versionKeyName in ndpKey.GetSubKeyNames())
{
if (versionKeyName.StartsWith("v"))
{
RegistryKey versionKey = ndpKey.OpenSubKey(versionKeyName);
string name = (string)versionKey.GetValue("Version", "");
string sp = versionKey.GetValue("SP", "").ToString();
string install = versionKey.GetValue("Install", "").ToString();
if (install == "") //no install info, ust be later
Console.WriteLine(versionKeyName + " " + name);
else
{
if (sp != "" && install == "1")
{
Console.WriteLine(versionKeyName + " " + name + " SP" + sp);
}
}
if (name != "")
{
continue;
}
foreach (string subKeyName in versionKey.GetSubKeyNames())
{
RegistryKey subKey = versionKey.OpenSubKey(subKeyName);
name = (string)subKey.GetValue("Version", "");
if (name != "")
sp = subKey.GetValue("SP", "").ToString();
install = subKey.GetValue("Install", "").ToString();
if (install == "") //no install info, ust be later
Console.WriteLine(versionKeyName + " " + name);
else
{
if (sp != "" && install == "1")
{
Console.WriteLine(" " + subKeyName + " " + name + " SP" + sp);
}
else if (install == "1")
{
Console.WriteLine(" " + subKeyName + " " + name);
}
}
}
}
}
}
}
資源信息: http://msdn.microsoft.com/en-us/library/hh925568%28v=vs.110%29.aspx
Environment.Version.ToString()
這將寫入公共語言運行庫的當前版本。如果他用2.0構建應用程序,他會得到什麼? –
更正你的答案正確的他想要的應用程序運行時,而不是安裝哪個.net版本從我的+1 –
這是有用的知道當前的應用程序環境,但課程無法檢測到哪些安裝在機器上。 @ User3805967澄清:與2.0它應該得到fw2.0,與3.0和3.5它應該得到3.0,並將應用程序設置爲4.0和/或4.5它會得到fw4.0,你的答案適應我的requeiments和工作不錯,我只是想接受你的答案,但你已經刪除了它,謝謝你 – pitoloko
- 1. .Net框架 - 「無法找到運行時運行該版本的應用程序」
- 2. 運行時使用的應用程序框架版本目標和網絡框架版本
- 3. 檢測框架版本3.5
- 4. 在運行時檢測Facebook API版本?
- 5. c#從程序集中獲取框架/運行時版本
- 6. 從WinForms應用程序檢查.Net框架版本
- 7. 我的應用程序如何在運行時確定它運行的.NET框架的版本?
- 8. 在應用程序運行時擴展實體框架模型
- 9. 檢測Flask應用程序是否在本地運行
- 10. 當應用程序在後臺運行時檢測iPhone墜落
- 11. iPhone應用程序在後臺運行時檢測WiFi網絡
- 12. 在VM環境中運行應用程序時檢測
- 13. 在控制檯應用程序中運行時按鍵檢測
- 14. 檢測應用程序正在使用的框架
- 15. 如何在運行時檢查Django中安裝的應用程序的版本?
- 16. 如何檢測運行應用程序的Android版本的設備?
- 17. 檢測虛擬框上運行的應用程序
- 18. Msbuild在特定框架版本中創建應用程序池
- 19. 強制應用程序在特定的.NET運行時版本下運行?
- 20. Xcode退出我的應用程序時說'檢測運行應用程序'在ipad上測試時
- 21. 檢測應用程序是否在遠程應用程序中運行
- 22. 當.net框架版本早於程序版本時執行一些代碼
- 23. 在wso2emm中檢測應用程序版本
- 24. 如何在AJAX應用程序中檢測Java及其版本
- 25. 執行程序時的版本檢查
- 26. iphone - 使用iAd框架在3.1上運行應用程序
- 27. MFC應用程序的測試框架
- 28. 運行時檢測我的應用程序自己的android:versionCode
- 29. iPhone應用程序運行時內存泄漏檢測
- 30. 如何通過命令行(Putty)在Windows中檢查.NET框架版本和Microsoft Visual C++運行時庫版本
的可能重複[如何檢測安裝了哪些版本的.NET Framework和Service Pack?](http://stackoverflow.com/questions/199080/如何檢測what-net-framework-versions-and-service-packs) – Steve