XuGang

记录一个程序员的成长

 

Microsoft .NET Framework 的版本

       自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 SP1 (KB110806)
2007-07-24 ?
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 SP1 (KB929300)
2007-07-24 ?
3.5.20404.0 3.5 Beta 1 2007-04-24 ?
3.5.20706.1 3.5 Beta 2 2007-07-24

Version

使用 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。这可以通过查看该笔记本电脑的注册表来证明,如下图所示:






参考资料:

如何判断 .NET Compact Framework 的版本

HOWTO: Determining the .NET Compact Framework Version

如何确定安装了哪些版本的 .NET Framework 以及是否应用了 Service Pack

What .NET Framework version numbers go with what service pack

Sample code to detect .NET Framework 1.0 and 1.1 and service packs

如何获取最新的 .NET Framework 1.0 Service Pack

Microsoft .NET Framework Redistributable 1.0 - 简体中文

How to install and update the .NET Framework 1.1 on different operating systems

Deploying Microsoft .NET Framework Version 3.0

Update Deployment for Visual Studio and the .NET Framework

Understanding User-Agent Strings

微软推出下一代互联网构想

(KB928367) 2007 年 7 月 10 日版用于 Windows Vista、Windows Server 2003、Windows XP 和 Windows 2000 的 .NET Framework 1.0 Service Pack 3 (SP3) 安全更新说明

(KB928366) 2007 年 7 月 10 日版用于 Windows XP 和 Windows 2000 的 .NET Framework 1.1 Service Pack 1 (SP1) 安全更新说明

(KB928365) 2007 年 7 月 10 日版用于 Windows Server 2003、Windows XP 和 Windows 2000 的 .NET Framework 2.0 安全更新说明

(KB932471) FIX: Error message when you try to open or to create a protected XPS document by using the XPS viewer that is included with the .NET Framework 3.0: "Cannot open this document because your permissions have expired"


来源:http://www.cnblogs.com/skyivben/archive/2007/10/13/923267.html

posted on 2007-10-15 12:44  钢钢  阅读(1064)  评论(0编辑  收藏  举报

导航