一、.NET Framework 版本介绍

自2000年6月22日微软向全球宣布自己的.NET战略,到现在已经十年多了。作为.NET战略的基础,Microsoft .NET Framework 也已经发行了多个版本。下面,我们就来看看这些年来微软到底发布了哪些 .NET Framework 版本。

.NET Framework & CLR Version

Framework  CLR and Assemblies            Release
----------------------------------------------------------
1.0 RTM    1.0.3705.0                    Released with VS.NET (aka VS.NET 2002)
1.0 SP1    1.0.3705.209
1.0 SP2    1.0.3705.288
1.0 SP3    1.0.3705.6018
1.1 RTM    1.1.4322.573                  Released with VS.NET 2003
1.1 SP1    1.1.4322.2032
1.1 SP1    1.1.4322.2300                (Windows Server 2003 32-bit version)
2.0 RTM    2.0.50727.42                  Released with VS2005 RTM
2.0 SP1    2.0.50727.1433                Released with VS2008 RTM and .Net 3.5 RTM
2.0 SP2    2.0.50727.3053                Released with VS2008 SP1 and .Net 3.5 SP1
Framework  CLR           New assemblies
----------------------------------------------------------
3.0 RTM    2.0 RTM       3.0.4506.30     Only "out-of-band" non-SP framework release
3.0 SP1    2.0 SP1       3.0.4506.648    Released with VS2008 RTM and .Net 3.5 RTM
3.0 SP2    2.0 SP2       3.0.4506.2152   Released with VS2008 SP1 and .Net 3.5 SP1
3.5 RTM    2.0 SP1       3.5.21022.8     Released with VS2008 RTM and .Net 3.5 RTM
3.5 SP1    2.0 SP2       3.5.30729.1     Released with VS2008 SP1
Framework  CLR and Assemblies            Release
----------------------------------------------------------
4.0 RTM    4.0.30319.1                   Released with VS2010

注意,没有 CLR 3.0 和 CLR 3.5。

有些 Windows 操作系统中已经内置了 .NET Framework,如下所示:

Version Version Number Release Date Visual Studio Default in Windows
1.0 1.0.3705.0 2002-02-13 Visual Studio .NET  
1.1 1.1.4322.573 2003-04-24 Visual Studio .NET 2003 Windows Server 2003
2.0 2.0.50727.42 2005-11-07 Visual Studio 2005  
3.0 3.0.4506.30 2006-11-06   Windows Vista, Server 2008
3.5 3.5.21022.8 2007-11-19 Visual Studio 2008 Windows 7, Server 2008 R2
4.0 4.0.30319.1 2010-04-12 Visual Studio 2010  

下图形象地汇总了版本历史记录以及标识 Windows 所安装的版本:

值得一提的是,我们常用的 Windows XP Service Pack 3 就是没有内置任何版本的 .NET Framework 的。

各个 .NET Framework 版本之间的关系如下图:

总结一下:

  • .NET Framework 1.0 (CLR 1.0) 和 1.1 (CLR 1.1) 已经过时,强烈建议不要使用。
  • .NET Framework 2.0 (CLR 2.0) 是目前广泛使用的版本,提供了大部分的基础功能。
  • .NET Framework 3.0 (CLR 2.0) 增加了 WPF、WCF、WF 和 Card Space 等功能。
  • .NET Framework 3.5 (CLR 2.0) 增加了 LINQ、ADO.NET Entity Framework 等功能。
  • .NET Framework 4.0 (CRL 4.0) 重新实现并改进了以前版本 .NET Framework 的功能,并且增加了 Parallel LINQ、Task Parallel Library 等新功能,强烈建议使用。旧版本的 .NET 程序可以通过配置 <supportedRuntime> 元素在 CLR 4.0 运行。
  • .NET Framework 4.5 是一个针对 .NET Framework 4 的高度兼容的就地更新。
  • .NET Framework 4.5.1 是针对 .NET Framework 4 和 Microsoft .NET Framework 4.5 的就地更新,兼容性良好。

在 CLR 4.0 上运行旧版本 .NET 程序的方法如下:

例如,在只安装了.NET 4.0 时,运行使用.NET Framework 3.5 编写的程序 ClrInfo35.exe,会出现如下提示:

就是说,旧版本的 .NET 程序不能运行在新版本的 CLR 4.0 上面。根据博客园作者银河的猜测,虽然微软的策略是强烈建议程序在开发时使用的运行时版本下运行(这样可以保证最大的兼容性),但实际上 .NET Framework 4.0 (CRL 4.0) 重新实现并改进了以前版本 .NET Framework 的全部功能。旧版本的 .NET 程序可以通过配置 <supportedRuntime> 元素在 CLR 4.0 运行。

为了在 CLR 4.0 上运行 ClrInfo35.exe 程序,只需要在同一目录下放一个以下内容的 ClrInfo35.exe.config 文件就行了:

1
2
3
4
5
<configuration>
   <startup>
     <supportedRuntime version= "v4.0" />
   </startup>
</configuration>

其运行结果和使用.NET Framewrk 4.0 重新编译一遍是一样的。

还有就是,安装了 .NET Framework 4.0 后,只能报告“Unable to find a version of the runtime to run this application”,而不能象以前一样明确指出是需要某个版本的 CLR,如下图:

.

二、查看 .NET Framework 版本的方法

2.1 IE + JavaScript 方法

在 IE 浏览器的地址栏输入: “javascript:alert(navigator.userAgent)” (注意:大小写要完全一致,不输入引号),可以查看本机安装了 .NET Framework 的哪些版本。

2.2 Framework Detector

http://frameworkdetector.codeplex.com/

2.3 查看 CLR 版本的方法(不是 .NET Framework 版本)

请参阅博客园作者“银河”的这篇文章:.NET Framework CLR 版本检测,他编写了C#命令行程序来查看CLR版本,并在文章中附上了源码。

我用其源码编译了工具,单击此处下载,软件需要在命令行模式下运行。

2.4 附表:.NET Framework 完整版本列表

Version Release Date
1.0.3705.0 1.0 RTM 2002-02-13
1.0.3705.209 1.0 SP1 2002-03-19
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-24
1.1.4322.2032 1.1 SP1 (MSI-based) 2004-08-25
1.1.4322.2300 1.1 SP1 (OCM-based On Windows Server 2003) 2004-08-25
1.1.4322.2407 1.1 SP1 (KB928366) 2007-07-10
2.0.40607.16 2.0 Beta 1 2004-07-03
2.0.50215.44 2.0 Beta 2 2005-04-18
2.0.50727.42 2.0 RTM (MSI-based) 2005-10-27
2.0.50727.312 2.0 RTM (CBS-based On Windows Vista) 2007-01-30
2.0.50727.832 2.0 RTM (KB928365) 2007-07-10
2.0.50727.1378 2.0 SP1 Beta 2007-07-26
2.0.50727.1433 2.0 SP1 2007-11-19
2.0.50727.3053 2.0 SP2 2008-08-11
3.0.04506.26 3.0 RTM (CBS-based On Windows Vista) 2007-01-30
3.0.04506.30 3.0 RTM (MSI-based)  (KB932471) 2006-11-07
3.0.04506.590 3.0 SP1 Beta 2007-07-26
3.0.04506.648 3.0 SP1 2007-11-19
3.0.04506.2152 3.0 SP2 2008-08-11
3.5.20404.0 3.5 Beta 1 2007-04-19
3.5.20706.1 3.5 Beta 2 2007-07-26
3.5.21022.8 3.5 RTM 2007-11-19
3.5.30729.1 3.5 SP1 2008-08-11
4.0.30319.1 4.0 RTM 2010-04-12
4.0.30319.225 4.0 SP1 2011-03-08
4.0.30319.17929 4.5 RTM 2012-08-15
4.0.30319.18034 4.5 (KB2750147) 2013-01-08

有关版本号命名的知识可以查看《软件项目版本号的命名规则》一文中的“.Net Framework 风格的版本号命名格式”。

关于 Microsoft .NET Compact Framework 的版本请参阅“黎波”的文章:“如何判断 .NET Compact Framework 的版本”。

.

三、各版本 .NET 和下载链接

几个重要的 .NET Framework 安装程序的大小如下(以32位为例,.NET 1.X 已经淘汰就不说了):

Version File Date & Time    Bytes      MB          File Name
------- ---------------- ----------- ----- ---------------------------
2.0 SP2 2008/07/30 09:54  25,001,480  23.8 NetFx20SP2_x86.exe
3.5 SP1 2008/07/30 16:22 242,743,296 231.5 dotnetfx35setup.exe
4.0 RTM 2010/03/19 09:44  50,449,456  48.1 dotNetFx40_Full_x86_x64.exe
WIC     2009/11/23 20:24   1,226,536   1.2 wic_x86_chs.exe

可以看出,.NET Framework 3.5 SP1 安装程序特别大,而 .NET Framework 4.0 RTM 安装程序反而变小了很多,不知 Microsoft 使用了什么技术,在增加功能的基础上还大大减少了安装程序的大小。

需要说明的关系:

安装 .NET Framework 3.5 SP1 时,会自动安装 .NET Framework 2.0 SP2 和 .NET Framework 3.0 SP2。

另外,.NET Framework 4.0 包括 .NET Framework 4 Client Profile 和 .NET Framework 4 Extended 两部分,其中的 Microsoft .NET Framework 4 Client Profile 也可以单独安装的,这样安装包(41.0MB)会小一些,但是有些扩展功能就不能用了。详细分析可以看这篇MSDN BLOG上的文章:What’s new in .NET Framework 4 Client Profile RTM.

下载地址汇总(重要的版本已经使用粗体标注)

2.0:22.42MB

http://download.microsoft.com/download/5/6/7/567758a3-759e-473e-bf8f-52154438565a/dotnetfx.exe

2.0 简体中文语言包:1.71MB

http://download.microsoft.com/download/2/c/7/2c791d8a-0ef9-49fa-9528-68b79626b9cb/langpack.exe

2.0 sp1:23.6MB

http://download.microsoft.com/download/0/8/c/08c19fa4-4c4f-4ffb-9d6c-150906578c9e/NetFx20SP1_x86.exe

2.0 sp2:23.84MB

http://download.microsoft.com/download/c/6/e/c6e88215-0178-4c6c-b5f3-158ff77b1f38/NetFx20SP2_x86.exe

3.0 完整组件包:50.33MB

http://download.microsoft.com/download/3/F/0/3F0A922C-F239-4B9B-9CB0-DF53621C57D9/dotnetfx3.exe

3.0 sp1:2.4MB(WEB安装引导文件)

http://download.microsoft.com/download/4/9/0/49001df1-af88-4a4d-b10f-2d5e3a8ea5f3/dotnetfx30SP1setup.exe

3.0 sp2:似乎找不到官方的相关下载地址(随 .NET 3.5 SP1 发布)

3.5 完整组件包:197.12MB

http://download.microsoft.com/download/6/0/f/60fc5854-3cb8-4892-b6db-bd4f42510f28/dotnetfx35.exe

3.5 sp1 完整安装包:231.50MB

http://download.microsoft.com/download/2/0/e/20e90413-712f-438c-988e-fdaa79a8ac3d/dotnetfx35.exe

4.0 独立安装程序:48.1MB

http://download.microsoft.com/download/9/5/A/95A9616B-7A37-4AF6-BC36-D6EA96C8DAAE/dotNetFx40_Full_x86_x64.exe

4.0 web安装程序:869KB

http://download.microsoft.com/download/1/B/E/1BE39E79-7E39-46A3-96FF-047F95396215/dotNetFx40_Full_setup.exe

4.5 独立安装程序:48.0MB

http://download.microsoft.com/download/B/A/4/ba4a7e71-2906-4b2d-a0e1-80cf16844f5f/dotnetfx45_full_x86_x64.exe

4.5 Web安装程序:982KB

http://download.microsoft.com/download/B/A/4/BA4A7E71-2906-4B2D-A0E1-80CF16844F5F/dotNetFx45_Full_setup.exe

WIC (Windows Imaging Component) :XP操作系统在安装.NET 4之前可能需要

  • WIC(32位):http://www.microsoft.com/download/en/details.aspx?id=32
  • WIC(64位):http://www.microsoft.com/download/en/details.aspx?id=1385

.NET Framework 的建议安装步骤:

要成功安装更新,请卸载计算机上的所有 .NET Framework 版本,然后在计算机上重新安装所有 .NET Framework 版本。您可能需要完成下列方法中的多种方法。

方法 1:手动删除并重新安装 .NET Framework

要手动删除并重新安装 .NET Framework,请按照下列步骤操作:

  • a. 单击“开始”,然后单击“控制面板”。
  • b. 双击“添加或删除程序”。
  • c. 记下计算机上已安装的每个 .NET Framework 版本,然后卸载所有 .NET Framework 版本。
  • d. 出现提示时,重新启动计算机。

方法2:使用 Windows Installer 清理实用程序

可以使用 Windows Installer 清理实用程序来清理所有 .NET Framework 版本的 MSI 数据库状态。

从 Microsoft 下载中心下载 Windows Installer 清理实用程序包。

http://download.microsoft.com/download/e/9/d/e9d80355-7ab4-45b8-80e8-983a48d5e1bd/msicuu2.exe

卸载完成后,重新启动计算机并安装所有所需的 .NET Framework 版本,安装完成后再次重新启动计算机。

注意:重新安装了所有 .NET Framework 版本后,您可以使用 Windows Update 来检查 .NET Framework 的更新。

.

参考资料:

[1] 博客园:银河:Microsoft .NET Framework 以及 CLR 的版本

[2] 博客园:银河:Microsoft .NET Framework 的版本

[3] 博客园:肖品:.NET Framework 各个版本之间的关系以及下载地址整理汇总

[4] MSDN:What’s new in .NET Framework 4 Client Profile RTM

[5] MSDN:.NET Framework 版本和依赖关系(官方文档,很通俗,强烈推荐阅读)

.NET Framework 各版本介绍和下载链接汇总相关推荐

  1. 各个历史版本 cuda toolkit 下载链接

    各个历史版本 cuda toolkit 下载链接 发现cuda toolkit 8.0 _windows_7_locoal  版本的 无法下载,  但是笔记本目前是win7系统, 找了之前的7.5版本 ...

  2. Python 多线程、利用request使用代理、利用递归深度抓取电影网页的内容并将电影的介绍和下载链接保存到mysql中

    本文仅为学习python过程的一个笔记,其中还有一些bug! 还请各位大佬赐教 有些专业的说法还不是很熟悉,欢迎各位大佬帮忙指出 本人时一个新晋奶爸,而立之年突然想转业,想学习python 先介绍一个 ...

  3. 全球各大运营商黑莓ROM官网下载链接汇总

    全球各大运营商黑莓ROM官网下载链接汇总: 先来关于8830的. 4.2.2.196的rom  8830EFS_PBr4.2.2_rel365_PL3.0.0.85_A4.2.2.196_Sprint ...

  4. cygwin-1.7 离线安装包_.NET Framework所有版本微软官方下载地址

    许多应用程序的运行需要依赖Microsoft .NET Framework,而发展到今天,.NET Framework的版本已有很多,从新到旧包括: .NET Framework 4.8 .NET F ...

  5. 官方纯净Windows7和10各版本介绍和下载方法

    前言 现如今各种挖矿,各种流氓.纯净的资源已经很难找到了 下面给大家推荐一个Windows官方纯净系统下载的地方,并简单的介绍一下各个版本的区别和下载办法. 下载地址 MSDN,我告诉你 推荐大家打开 ...

  6. GitHub | 周志华《机器学习》手推笔记正式开源!可打印版本附pdf下载链接

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 编辑:Sophia              | 联盟笔记 计算机视觉联盟  报道  | 公众号 CVLianMen ...

  7. ChromeDriver与Chrome版本对应关系及下载链接

    ChromeDriver与Chrome版本对应参照表及ChromeDriver下载链接 版本对应关系 下载链接 版本对应关系 Chrome Version ChromeDriver Version 8 ...

  8. Qt 5.13版本正式发布(带下载链接)

    摘录并翻译自Qt官网内容.快来看看新版本更新了些什么东西吧.   今天(2019-06-19),我们发布了 Qt 5.13,我为每个人都投入的所有工作感到自豪.与往常一样,我们的版本带有新功能,更新, ...

  9. 显著性检测数据集简单介绍及下载链接

    显著性检测是计算机视觉的一个重要分支,而在深度学习的训练阶段.显著性检测算法的评价阶段等都需要大量有标注信息的数据集.这里简单介绍以下几种数据集,并给出一些数据集下载的链接. 早期的显著性检测研究是针 ...

最新文章

  1. java opencv4.40图片实现人脸识别(2)
  2. 再迎利好,“预共识”或能助力BCH“零确认”安全可靠
  3. numpy是python标准库吗_python – 找出Numpy是否使用了哪个BLAS库
  4. Raft 为什么是更易理解的分布式一致性算法——(1)Leader在时,由Leader向Follower同步日志 (2)Leader挂掉了,选一个新Leader,Leader选举算法。...
  5. 从C语言的角度重构数据结构系列(一)-数据结构入门之逻辑结构与物理结构
  6. spring service ,controller反向代理生成AOP代理类流程
  7. [PHP] - 性能加速 - 开启opcache
  8. out参数不用赋值?这么神奇吗!
  9. qt程序运行时绘图出现错误
  10. 字符ascii码值转换_没想到 Unicode 字符还能这样玩?
  11. python函数被调用才能执行吗_python3x函数在不被调用的情况下运行
  12. JEECG Word模板导出教程
  13. OpenCV中 IplImage 与 Mat的区别
  14. 一行Java代码实现游戏中交换装备
  15. apt报错Hash 校验和不符解决办法
  16. js关于子元素不触发父元素事件的若干方法
  17. 必应Bing图片中心的图片版权问题
  18. 群接龙脚本autojs总结and精美ui
  19. win11电脑锁定触摸板或无鼠标打开触摸板
  20. 刷题、OJ 1337: 运动员分组

热门文章

  1. Problem F: 一天中的第几秒
  2. 推特源代码在GitHub 泄漏三个月之久
  3. vue2与vue3的diff算法区别
  4. 【技术类】【ArcGIS对国产卫星的支持2:高分一号卫星】概览篇
  5. 一人之下手游当前服务器注册已满,一人之下手游不能注册是怎么回事 一人之下手游不能注册原因详情...
  6. 2021年低压电工考试题及低压电工考试题库
  7. HDU 2520 我是菜鸟,我怕谁
  8. 佛说五百年的回眸才换来今生的擦肩而过!(zt)
  9. keras神经风格迁移_深度神经风格迁移
  10. 解决直接打开 vite +vue3 打包的 HTML 文件报错跨域 from origin ‘null‘ has been blocked by CORS policy