當調查應用程序問題時,通常需要先確認目標機器所安裝的 .NET Framework 的版本。可以通過如下方式來確認版本號:
通過控制面板安裝程序查詢

通過查詢注冊表獲取版本信息
在注冊表 regedit 中查找鍵:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full
得到如下結果:

對應結果如下:
通過查看安裝目錄獲取版本信息
通常 .NET Framework 會被安裝在:
%WINDIR%\Microsoft.Net\Framework
而對應的結果通常是:
C:\Windows\Microsoft.NET\Framework
使用命令:
dir %WINDIR%\Microsoft.Net\Framework\v* /B
得到目錄結果:

但這僅列出了目錄,無法判斷是否安裝了 .NET 4.5 或 .NET 4.5.1 等,還需要直接查看 DLL 版本詳細信息。

比如,上圖中查看了 mscorlib.dll 的版本號是 4.0.30319.34209,這代表什么呢?
- 4.0.30319.1 = .NET 4.0 RTM
- 4.0.30319.269 = most common .NET 4.0 version
- 4.0.30319.544 = another .NET 4.0 version that a small portion
- 4.0.30319.17626 = .NET 4.5 RC
- 4.0.30319.17929 = .NET 4.5 RTM
- 4.0.30319.18010 = current version on my Windows 8 machine
- 4.0.30319.18052 = .NET 4.5 on Windows 7 SP1 64-bit
- 4.0.30319.18408 = .NET 4.5.1 on Windows 7 SP1 64-bit
- 4.0.30319.34209 = .NET 4.5.2 on Windows 7 PS1 64-bit
- 4.0.30319.34014 = .NET 4.5.1 on Windows 8.1 64-bit
- 4.0.30319.34209 = .NET 4.5.2 on Windows 8.1 64-bit
通過使用 WMI 命令獲取版本信息
可以通過執行 wmic 命令來獲取版本號,命令如下:
wmic product where "Name like 'Microsoft .Net%'" get Name, Version
執行結果:

還可以通過 wmic 命令查詢目標機器上安裝的所有與 .NET 相關的微軟應用,命令如下:
wmic /namespace:\\root\cimv2 path win32_product where "Name like '%%.NET%%'" get Name, Version
執行結果:

參考資料
- .NET SDKs and Downloads
- How to: Determine Which .NET Framework Versions Are Installed
- How to: Determine Which .NET Framework Updates Are Installed
本文《獲取機器安裝.NET版本的幾種方式》由 Dennis Gao 發表自博客園,未經作者本人同意禁止任何形式的轉載,任何自動或人為的爬蟲轉載行為均為耍流氓。
