自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。这可以通过查看该笔记本电脑的注册表来证明,如下图所示:
赞
If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
QQ:154298438
QQ:417480759