自2000年6月22日微软向全球宣布自己的.NET战略,到现在已经七年多了。作为.NET战略的基础,Microsoft .NET Framework 也已经发行了多个版本。下面,我们就来看看这些年来微软到底发布了哪些 .NET Framework 版本。(关于 Microsoft .NET Compact Framework 的版本请参阅“黎波”的文章:“如何判断 .NET Compact Framework 的版本”)
| Version | Release | Date |
|---|---|---|
| 1.0.3705.0 | 1.0 RTM | 2002-??-?? |
| 1.0.3705.209 | 1.0 SP1 | 2002-??-?? |
| 1.0.3705.288 | 1.0 SP2 | 2002-08-07 |
| 1.0.3705.6018 | 1.0 SP3 | 2004-08-25 |
| 1.0.3705.6060 | 1.0 SP3 (KB928367) | 2007-07-10 |
| 1.1.4322.573 | 1.1 RTM | 2003-04-03 |
| 1.1.4322.2032 | 1.1 SP1 (MSI-based) | 2004-08-30 |
| 1.1.4322.2300 | 1.1 SP1 (OCM-based On Windows Server 2003) | 2004-??-?? |
| 1.1.4322.2407 | 1.1 SP1 (KB928366) | 2007-07-10 |
| 2.0.40607.16 | 2.0 Beta 1 | 2004-06-07 ? |
| 2.0.50215.44 | 2.0 Beta 2 | 2005-02-15 ? |
| 2.0.50727.42 | 2.0 RTM | 2005-07-27 ? |
| 2.0.50727.832 | 2.0 RTM (KB928365) | 2007-07-10 |
| 2.0.50727.1378 | 2.0 ??? |
200?-??-?? |
| 3.0.04506.26 | 3.0 RTM (OCM-based On Windows Vista ?) | 2006-??-?? |
| 3.0.04506.30 | 3.0 RTM (MSI-based) (KB932471) | 2006-11-21 |
| 3.0.04506.590 | 3.0 ??? |
200?-??-?? |
| 3.5.20404.??? | 3.5 Beta 1 | 2007-04-24 ? |
| 3.5.20706.1 | 3.5 Beta 2 | 2007-07-24 |
使用 Version 对象可以存储和比较程序集的版本号。版本号由二至四个部分组成:主版本号、次版本号、内部版本号和修订号。主版本号和次版本号是必选的;内部版本号和修订号是可选的,但是如果定义了修订号部分,则内部版本号就是必选的。所有定义的部分都必须是大于等于 0 的整数。版本号的格式如下所示。可选组件显示在方括号(“[”和“]”)中:
主版本.次版本[.内部版本[.修订号]]
Major.Minor[.Build[.Revision]]
应根据下面的约定使用这些部分:
程序集的只有内部版本号或修订号不同的后续版本被认为是先前版本的修补程序 (Hotfix) 更新。
上表是我根据网络上相关资料整理的(请参阅文末的“参考资料”),但是这方面的资料比较少,所以还有不少缺漏之处。特别是很多版本的发布日期无从查找。各位朋友如有知道的,恳请在本文的评论中告诉我(并请给出资料来源),以便将该表补充完整。上表中如有错误的地方,恳请各位朋友指正。谢谢!
在 IE 浏览器的地址栏输入: “javascript:alert(navigator.userAgent)” (注意:大小写要完全一致)可以查看本机安装了 .NET Framework 的哪些版本。 “User Agent.CN”网站可以查看并分析 User Agent。

上图是在一台 Windows XP Profession SP2 的计算机上的截屏。从中可以看出该计算机安装了 .NET Framework 的以下版本:
1.0.3705.6060
1.1.4322.2407
2.0.50727.832
3.0.04506.30

上图是在一台 Windows Vista Home Premium 笔记本电脑上的截屏。从中可以看出该笔记本电脑安装了 .NET Framework 的以下版本:
2.0.50727.1378
3.0.04506.590
3.5.20706.1
我认为上图中的 .NET CLR 3.0.590 是错误的,是微软的一个 BUG,应该是 .NET CLR 3.0.04506.590。这可以通过查看该笔记本电脑的注册表来证明,如下图所示:

