判断 .NET Framework安装版本
How To Determine the .NET Framework Installed Versions
![]() |
This topic is a how to. Please keep it as clear and simple as possible. Avoid speculative discussions as well as a deep dive into underlying mechanisms or related technologies. |
Table of Contents
- Introduction
- The Microsoft.NET\Framework Folder
- Registry Keys
- Determining the .NET Framework Version by Code
- The CLRVER Tool
- Other Languages
Introduction
You can install and run multiple versions of the .NET Framework on a computer and each version can be installed in any order.
Starting from Windows XP, the operating system comes with a .NET Framework version installed and ready for use; the user can install a more recent version to get all the advantages that comes with the newest class libraries and namespaces provided by the most recent versions of the .NET Framework.
The Microsoft.NET\Framework Folder
Each .NET Framework version can be installed side-by-side and each version's files will be installed into a subfolder of the Windows main directory, identified by the environment variable %WINDIR%. To see which versions are installed, look into the %WINDIR% directory for the Microsoft.NET\Framework folder (you should also view the Framework64directory if you're running a 64-bit operating system, which can have 32 or 64-bit versions installed or both): each version of the .NET Framework has a directory and the first two digits of the directory name identify the .NET Framework version; for example: v1.1.4322 for the .NET Framework 1.1, v2.0.50727 for the .NET Framework 2.0, v3.5 for the .NET Framework 3.5 and so on.
Figure 1 depicts the folders containing the files for multiple .NET Framework version installed on a computer running Windows 7 Ultimate x64 Service Pack 1.

Figure 1: .NET Framework version specific subfolders.
Registry Keys
The informations related to the .NET Framework installation (along with the informations regarding the status of the installed Service Packs) are stored in the Windows registry under theHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP key. Figure 2 depicts the registry keys for multiple .NET Framework version installed on a computer running Windows 7 Ultimate x64 Service Pack 1.

Figure 2: .NET Framework version specific registry keys.
Table 1 provides a list of the stored values according to each installed .NET Framework version.
| .NET Framework Version | Service Pack Level | Registry Key Name | Value |
|---|---|---|---|
| 4 - Client | Original Release | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client | Name: Install, Type:REG_DWORD, Data: 1 |
| HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client | Name: Version, Type: REG_SZ, Data: 4.0.30319.0 | ||
| 4 - Full | Original Release | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full | Name: Install, Type:REG_DWORD, Data: 1 |
| HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full | Name: Version, Type: REG_SZ, Data: 4.0.30319.0 | ||
| 3.5 | Original Release | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5 | Name: Install, Type:REG_DWORD, Data: 1 |
| HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5 | Name: SP, Type:REG_DWORD, Data: 0 | ||
| 3.5 | Service Pack 1 | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5 | Name: Install, Type:REG_DWORD, Data: 1 |
| HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5 | Name: SP, Type:REG_DWORD, Data: 1 | ||
| 3.0 | Original Release | Follow the deployment and detection guidance in the document "Microsoft .NET Framework 3.0 Deployment Guide " on the MSDN Library |
|
| HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0 | Name: SP, Type:REG_DWORD, Data: 0 | ||
| 3.0 | Service Pack 1 | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0 | Name: Install, Type:REG_DWORD, Data: 1 |
| HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0 | Name: SP, Type:REG_DWORD, Data: 1 | ||
| 3.0 | Service Pack 2 | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0 | Name: Install, Type:REG_DWORD, Data: 1 |
| HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0 | Name: SP, Type:REG_DWORD, Data: 2 | ||
| 2.0 | Original Release | HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727 | Name: Install, Type:REG_DWORD, Data: 1 |
| HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727 | Name: SP, Type:REG_DWORD, Data: 0 | ||
| 2.0 | Service Pack 1 | HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727 | Name: Install, Type:REG_DWORD, Data: 1 |
| HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727 | Name: SP, Type:REG_DWORD, Data: 1 | ||
| 2.0 | Service Pack 2 | HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727 | Name: Install, Type:REG_DWORD, Data: 1 |
| HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727 | Name: SP, Type:REG_DWORD, Data: 2 | ||
| 1.1 (on 32-bit operating systems) | Original Release | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322 | Name: Install, Type:REG_DWORD, Data: 1 |
| HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322 | Name: SP, Type:REG_DWORD, Data: 0 | ||
| 1.1 (on 32-bit operating systems) | Service Pack 1 | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322 | Name: Install, Type:REG_DWORD, Data: 1 |
| 1.1 (on 64-bit operating systems) | Original Release | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322 | Name: Install, Type:REG_DWORD, Data: 1 |
| HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322 | Name: SP, Type:REG_DWORD, Data: 0 | ||
| 1.1 (on 64-bit operating systems) | Service Pack 1 | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322 | Name: Install, Type:REG_DWORD, Data: 1 |
| HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322 | Name: SP, Type:REG_DWORD, Data: 1 | ||
| 1.0 (on supported platforms except for Windows XP Media Center and Tablet PC) | Original Release | HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\{78705f0d-e8db-4b2d-8193-982bdda15ecd} | Name: Version, Type: REG_SZ, Data: 1.0.3705.0 |
| 1.0 (on supported platforms except for Windows XP Media Center and Tablet PC) | Service Pack 1 | HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\{78705f0d-e8db-4b2d-8193-982bdda15ecd} | Name: Version, Type: REG_SZ, Data: 1.0.3705.1 |
| 1.0 (on supported platforms except for Windows XP Media Center and Tablet PC) | Service Pack 2 | HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\{78705f0d-e8db-4b2d-8193-982bdda15ecd} | Name: Version, Type: REG_SZ, Data: 1.0.3705.2 |
| 1.0 (on supported platforms except for Windows XP Media Center and Tablet PC) | Service Pack 3 | HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\{78705f0d-e8db-4b2d-8193-982bdda15ecd} | Name: Version, Type: REG_SZ, Data: 1.0.3705.3 |
| 1.0 (shipped with Windows XP Media Center 2002/2004 and Tablet PC 2004) | Service Pack 2 | HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\{FDC11A6F-17D1-48f9-9EA3-9051954BAA24} | Name: Version, Type: REG_SZ, Data: 1.0.3705.2 |
| 1.0 (shipped with Windows XP Media Center 2005 and Tablet PC 2005) | Service Pack 3 | HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\{FDC11A6F-17D1-48f9-9EA3-9051954BAA24} | Name: Version, Type: REG_SZ, Data: 1.0.3705.3 |
Table 1: .NET Framework version specific registry keys values.
To detect the existence of a specific .NET Framework version regardless of the Service Pack level, or to detect a service pack level or a later service pack level of the same .NET Framework version, use the registry information that listed Table 2.
| .NET Framework Version | Service Pack Level | Registry Key Name | Value |
|---|---|---|---|
| 4 - Client | Any Version | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client | Install = 1 |
| 4 - Full | Any Version | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full | Install = 1 |
| 3.5 | Any Version | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5 | Install = 1 |
| 3.5 | Service Pack 1 or Greater | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5 | SP >= 1 |
| 3.0 | Any Version | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0 | Install = 1 |
| 3.0 | Service Pack 1 or Greater | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0 | SP >= 1 |
| 3.0 | Service Pack 2 or Greater | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0 | SP >= 2 |
| 2.0 | Any Version | HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727 | Install = 1 |
| 2.0 | Service Pack 1 or Greater | HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727 | SP >= 1 |
| 2.0 | Service Pack 2 or Greater | HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727 | SP >= 2 |
| 1.1 | Any Version | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322 | Install = 1 |
| 1.1 | Service Pack 1 | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322 | SP >= 1 |
| 1.0 | Any Version | HKEY_LOCAL_MACHINE\Software\Microsoft\.NET Framework\Policy\v1.0 | Name: 3705, Type: REG_SZ, exists |
| 1.0 (on supported platforms except for Windows XP Media Center and Tablet PC) | Service Pack 1 or Greater | HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\{78705f0d-e8db-4b2d-8193-982bdda15ecd} | Version >= 1.0.3705.1 |
| 1.0 (on supported platforms except for Windows XP Media Center and Tablet PC) | Service Pack 2 or Greater | HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\{78705f0d-e8db-4b2d-8193-982bdda15ecd} | Version >= 1.0.3705.2 |
| 1.0 (on supported platforms except for Windows XP Media Center and Tablet PC) | Service Pack 3 or Greater | HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\{78705f0d-e8db-4b2d-8193-982bdda15ecd} | Version >= 1.0.3705.3 |
| 1.0 (shipped with Windows XP Media Center 2002/2004 and Tablet PC 2004) | Service Pack 2 or Greater | HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\{FDC11A6F-17D1-48f9-9EA3-9051954BAA24} | Version >= 1.0.3705.2 |
| 1.0 (shipped with Windows XP Media Center 2005 and Tablet PC 2005) | Service Pack 3 or Greater | HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\{FDC11A6F-17D1-48f9-9EA3-9051954BAA24} | Version >= 1.0.3705.2 |
Table 2: .NET Framework version specific registry keys values regardless of the Service Pack level.
Determining the .NET Framework Version by Code
The .NET Framework version can be determined by writing code that queries the Common Language Runtime (CLR) version by using the Version property of the System.Environment
class, as in the following C# code snippet
using System; class Sample
{
public static void Main()
{
Console.WriteLine();
Console.WriteLine("Version: {0}", Environment.Version.ToString());
}
}
If you compile this program with the .NET Framework 3.5, this property's value will be "2.0.50727.3603".
The CLRVER Tool
The CLR Version tool (Clrver.exe) reports all the installed versions of the Common Language Runtime (CLR) on the computer. This tool is automatically installed with Visual Studio and with the Windows SDK and it must be executed from the Visual Studio Command Prompt or the Windows SDK Command Prompt.
At the command prompt type the following
clrver [option]
where [option] can be -all to display all the managed processes and the version of the CLR they are using, -? to display command syntax and options for the tool or pid to display the version(s) of the CLR used by the process that has the specified process ID. Running the tool with no options displays all installed CLR versions.
判断 4.5: https://msdn.microsoft.com/en-us/library/hh925568(v=vs.110).aspx
判断 .NET Framework安装版本的更多相关文章
- delphi判断.net FrameWork是否已安装
判断系统中.NET FrameWork已安装版本的方法很多,比如检查C:\Windows\Microsoft.NET\Framework\下的子目录,但是子目录往往是包含版本号,比如v2.0.5072 ...
- .NET/C# 检测电脑上安装的 .NET Framework 的版本
原文:.NET/C# 检测电脑上安装的 .NET Framework 的版本 如果你希望知道某台计算机上安装了哪些版本的 .NET Framework,那么正好本文可以帮助你解决问题. 本文内容 如何 ...
- .NET Framework各版本汇总以及之间的关系
目录(?)[-] 原文链接:http://blog.csdn.net/kingmax54212008/article/details/25886345 NET Framework 版本关系 获取NET ...
- .NET Framework个版本说明
.NET Framework .NET版本 1.0 1.1 2.0 3.0 3.5 4.0 4.5 完整版本 1.0.3705.0 1.1.4322.573 2.0.50727.42 3.0.4506 ...
- ASP.NET在IIS7中如何更改网站的.net framework框架版本
IIS7安装好以后使用了.net 2.0 framework框架,经过折腾发现如下方法可以更改框架版本,从而可以部署使用其他版本框架开发的网站 方法一:建立网站时设置.net框架版本 方法二:对于已经 ...
- 简单概述 .NET Framework 各版本区别
目前已发行的版本有1.0.1.1.2.0.3.0.3.5.4.0.4.5(及4.5.1.4.5.2).4.6(及4.6.1). 1.0版本:最初的.net framework版本,作为一个独立的工具包 ...
- [转]在linux下如何判断是否已经安装某个软件?软件安装在哪个目录
<1>在linux下如何判断是否已经安装某个软件? ++++++++++++++++++++++++++++++++++++++++++ rpm -qa|grep 软件包 ++++++++ ...
- .net Framework各个版本之间的发展
原文:.net Framework各个版本之间的发展 上个星期看到了.NET 4.0框架退休日期逐渐临近文章,发现自己一直在使用NET FrameWork,身为一个NET程序员,里面大概的区别自己还 ...
- .NET Framework 各版本区别
.NET Framework 各版本区别 .NET Framework 1.1 自1.0版本以来的改进:自带了对mobile asp .net控件的支持.这在1.0版本是以附加功能方式实现的,现在已经 ...
随机推荐
- maven和svn区别
构建工具-maven,版本控制工具-svn. 一.只有svn的情况 首先考虑没有maven的情况.这样的话,项目组每个开发人员,都需要在本地check out所有的源码. 每次提交之前, ...
- 页面局部跳转(iframe)
<script type="text/javascript"> function show() { document.getElementById("ff&q ...
- OBS MAC 系统开发(基于mac OS X 10.12)
按照github 上的说明,安装配套软件,和跟踪需要的库 推荐使用homebrew 来安装各种依赖库. 安装Qt后,要配置系统变量 ,这个困扰本人很久:) 成功编译 cmake .. &&am ...
- bzoj 2434 阿狸的打字机 fail树的性质
如果a串是另b串的后缀,那么在trie图上沿着b的fail指针走一定可以走到a串. 而a串在b串里出现多少次就是它是多少个前缀的后缀. 所以把fail边反向建树维护个dfs序就行了. 并不是很难... ...
- Python报错UnicodeDecodeError: ascii codec can t decode byte 0xe0 ...解决方法
用命令(python setup.py install)安装webpy时候总是报错 在网上搜索到的解决方法如下: 1. 这是Python 2 mimetypes的bug 2. 需要将Python2.7 ...
- Beta阶段测试报告
前端测试计划 具体测试项如下: 注册测试 登录测试 忘记密码测试 一次登录后自动登录测试 退出登录测试 编辑资料测试 查看好友测试 搜索好友测试 添加好友测试 获取当前正在游戏的房间测试 创建房间测试 ...
- MongoDB笔记
mongodb简介 MongoDB 是一个基于分布式文件存储的数据库.存储的是Bson结构的文档(二进制的JSON),内部执行引擎为JS解释器,把文档存储为BSON结构,在查询时,转换为JS对象,可以 ...
- linux 基础命令与文件管理
Linux终端介绍 Shell提示符 Bash Shell基本语法 基本命令的使用:ls.pwd.cd 查看系统和BIOS硬件时间 Linux如何获得帮助 Linux关机命令:shutdow.in ...
- Kinect之彩色图像数据
彩色图像很有用,很有用!!说到图像识别,未来肯定是个大方向!在机器人视觉和一些智能识别在应用很广,而获取下来的数据再加上Opencv就能做出很多很好玩很有趣的功能.这个以后等我进一步成长后再回来慢慢记 ...
- kettle将Excel数据导入oracle
导读 Excel数据导入Oracle数据库的方法: 1.使用PL SQL 工具附带的功能,效率比较低 可参考这篇文章的介绍:http://www.2cto.com/database/201212/17 ...
