.NET Framework各版本汇总以及之间的关系

目录(?)[-]

原文链接:http://blog.csdn.net/kingmax54212008/article/details/25886345

  1. NET Framework
  2. 版本关系
  3. 获取NET框架版本
  4. 参考资料

.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.30 3.5.21022.8 4.0.30319.1 4.5.40805
发布时间 2002-02-13 2003-04-24 2005-11-07 2006-11-06 2007-11-19 2010-04-12 2012-05-24
VS开发版本 VS2002 VS2003 VS2005   VS2008 VS2010 VS2012
Windows默认安装   Windows Server 2003 Windows Server 2003 Windows Server 2008 Windows Vista Windows Server 2008 Windows 7 Windows Server 2008 R2   Windows 8 Windows Server 2012
下载 .NET Framework 1.0 (SP3) .NET Framework 1.1 (SP1) .NET Framework 2.0 (SP2) .NET Framework 3.0 (SP2) .NET Framework 3.5 (SP1) .NET Framework 4.0 .NET Framework 4.5
说明 Microsoft Internet Explorer 5.01 或更高版本 Microsoft Internet Explorer 5.01 或更高版本 Windows Installer 3.1 或更高版本 Internet Explorer 6.0 或更高版本   包括 .NET Framework 2.0 Service Pack 2 和 .NET Framework 3.0 Service Pack 2 累积更新 Windows Installer 3.1 或更高版本 Internet Explorer 5.01 或更高版本 .NET Framework 4.5 RC 是一个针对 .NET Framework 4 的高度兼容的就地更新。
支持的windows版本 Windows 98 Windows NT Windows Server 2000 Windows Server 2003 Windows XP Windows Server 2000 Windows Server 2003 Windows XP Windows Server 2003 Windows XP Windows Server 2003 Windows Server 2003 Windows Server 2008, Windows Vista Windows XP Windows XP SP3 Windows Server 2003 SP2 Windows Vista SP1 Windows Server 2008 Windows 7 Windows Vista SP2 Windows 7 Windows 8 Windows Server 2008 Windows Server 2012

版本关系

.NET Framework 版本 2.0、3.0 和 3.5 是使用 CLR (CLR 2.0) 的相同版本生成的。 每个版本增量地生成于早期 .NET Framework 版本。 在计算机上不可能并排运行版本 2.0、3.0 和 3.5。 在安装 .NET Framework 3.5 SP1 时,会自动安装 2.0 和 3.0 层。 但是,.NET Framework 4 关闭此分层方法。 以 .NET Framework 4 开始,可使用进程内并行承载来在单独的进程中运行多个公共语言运行时 (CLR) 版本。 Apps 的 2.0 ,3.0 和 3.5 版本可以全部在 3.5 版运行,但是,它们在 4 版或更高版本将不起作用。.NET Framework 4.5 是就地更新,替换您的计算机上的 .NET Framework 4。 在安装此更新后,您的 .NET Framework 4 应用程序在无需重新编译的情况下应继续运行。 但是,.NET Framework 中的某些更改可能需要更改您的应用程序代码。 有关更多信息,在 .NET Framework 4.5 中运行现有应用程序前,请参见 在 .NET Framework 4.5 中的应用程序兼容性。 有关安装当前版本的更多信息,请参见 安装 .NET Framework 4.5。 有关对 .NET Framework 的支持的信息,请参见 Microsoft 支持网站上的 Microsoft .NET Framework Support Lifecycle Policy(Microsoft .NET Framework 支持生命周期策略)。

以上是微软官方解释。

我理解的意思是,3.5包含了2.0和3.0,安装了3.5就自动安装了2.0和3.0。这样也说明了为什么3.5的安装包会很大的原因。win7以后好像就不能直接安装2.0只能通过安装3.5来支持2.0的程序。

4.0是一个过渡版本,安装4.5是会覆盖4.0。并且4.0可在4.5环境中运行。

值得注意的是4.5不支持XP系统了。

获取.NET框架版本

using System;

using Microsoft.Win32;

public class GetDotNetVersion

{

    public static void Main()

    {

        Console.WriteLine(".NET框架版本:");

        using (RegistryKey ndpKey = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine,"").OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\"))

        {

            foreach (string versionKeyName in ndpKey.GetSubKeyNames())

            {

                if (versionKeyName.StartsWith("v"))

                {

                    RegistryKey versionKey = ndpKey.OpenSubKey(versionKeyName);

                    string name = (string)versionKey.GetValue("Version""");

                    string sp = versionKey.GetValue("SP""").ToString();

                    string install = versionKey.GetValue("Install","").ToString();

                    if (install == ""//no install info, ust be later

                        Console.WriteLine(versionKeyName + "  " + name);

                    else

                    {

                        if (sp != "" && install == "1")

                        {

                            Console.WriteLine(versionKeyName + "  " + name + "  SP" + sp);

                        }

                    }

                    if (name != "")

                    {

                        continue;

                    }

                    foreach (string subKeyName in versionKey.GetSubKeyNames())

                    {

                        RegistryKey subKey = versionKey.OpenSubKey(subKeyName);

                        name = (string)subKey.GetValue("Version""");

                        if (name != "")

                            sp = subKey.GetValue("SP""").ToString();

                        install = subKey.GetValue("Install""").ToString();

                        if (install == ""//no install info, ust be later

                            Console.WriteLine(versionKeyName + "  " + name);

                        else

                        {

                            if (sp != "" && install == "1")

                            {

                                Console.WriteLine("  " + subKeyName + "  " + name + "  SP" + sp);

                            }

                            else if (install == "1")

                            {

                                Console.WriteLine("  " + subKeyName + "  " + name);

                            }

                        }

                    }

                }

            }

        }

        Console.WriteLine();

        Console.WriteLine("操作系统版本:" + System.Environment.OSVersion.ToString());

        Console.WriteLine("当前.NET框架版本:" + System.Environment.Version.ToString());

        Console.ReadKey();

    }

}

参考资料

http://zh.wikipedia.org/wiki/.Net_Framework http://msdn.microsoft.com/en-us/library/bb822049.aspx http://www.microsoft.com/net

时间: 2024-10-02 23:03:41

.NET Framework各版本汇总以及之间的关系的相关文章

.net FrameWork各个版本之间的发展

上个星期看到了.NET 4.0框架退休日期逐渐临近文章,发现自己一直在使用NET  FrameWork,身为一个NET程序员,里面大概的区别自己还是知道的,但是自己要说出个所以然来了,发现还是有点力不从心,当时关于这几个版本之间的有很多,目前很多地方都只是写到了4.5,关于4.5.1,4.5.2这两个版本提及的还是非常少的,相对来说,自己写这篇文章也就没有回锅肉的嫌疑,正文开始吧: DoNet  FrameWork NET Framework由微软开发的一个致力于敏捷软件开发(Agile sof

.net FrameWork各个版本之间的发展[转]

上个星期看到了.NET 4.0框架退休日期逐渐临近文章,发现自己一直在使用NET  FrameWork,身为一个NET程序员,里面大概的区别自己还是知道的,但是自己要说出个所以然来了,发现还是有点力不从心,当时关于这几个版本之间的有很多,目前很多地方都只是写到了4.5,关于4.5.1,4.5.2这两个版本提及的还是非常少的,相对来说,自己写这篇文章也就没有回锅肉的嫌疑,正文开始吧: DoNet  FrameWork NET Framework由微软开发的一个致力于敏捷软件开发(Agile sof

.net版本之间的关系

net framework 2.0,3.0与3.5三个版本之间关系如下: .net framework 2.0 = CLR 2.0 + FCL(framework class library) .net framework 3.0 = .net framework 2.0 + SP1 + WPF + WCF + WF + CardSpace .net framework 3.5 = ..net framework 3.0 + SP2 + new compiler 这三个版本framework的C

CLR/.NET/C#/Visual Studio/ASP.NET各版本之间的关系

名词定义 下列这些名词,写.NET 的人一定都不陌生,但你是否有真正理解呢?如果看了我的摘要文字说明还无法理解的话,建议多查询相关文件或书籍,或直接在文章最下方留言讨论. CLR ( Common Language Runtime ) CLR 是.NET Framework 的虚拟机器元件(virtual machine component),用来管理执行中的.NET 程序. CLR有个重要的流程是JIT编译 (just-in-time compilation)机制,可以将.NET程式编译过的中

Hadoop与HBase兼容版本汇总

Hbase的安装需要考虑Hadoop的版本,即兼容性.有不足的希望能指出. 以下考究官网得到的,关于hadoop版本和hbase版本可到以下网址中下载:http://mirror.bit.edu.cn/apache/hbase    HBase-0.92.x HBase-0.94.x HBase-0.96.x HBase-0.98.x Hadoop-1.0.0-1.0.2 S S X S Hadoop-1.0.3+ S S S S Hadoop-1.1.x NT S S S Hadoop-0.2

WebGL 支持检测与已支持浏览器版本汇总

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 是否我的浏览器支持 WebGL http://caniuse.com 在页面搜索 webgl,找到  WebGL - 3D Canvas grap

Android Framework应用框架层和HAL硬件抽象层以及Linux Kernel底层之间的关系

Android应用框架层和硬件抽象层以及底层之间的关系 1. JNI技术: (1).JNI技术简单的说就是在本地Java语言声明本地方法和加载动态链接库(.so文件) (2).动态链接库(.so文件)是由NDK编译C/C++文件而成的. 2. HAL层开发: (1).HAL是Hardware Abstraction Layer的简称.也称为硬件抽象层. (2).硬件访问服务是在Framework层实现的. (3).硬件访问服务是用Java语言实现的,硬件抽象层是用C++语言编写的.因此硬件访问服

.NET Core与.NET Framework、Mono之间的关系

随着微软的.NET开源的推进,现在在.NET的实现上有了三个.NET Framework,Mono和.NET Core.经常被问起Mono的稳定性怎么样,后续Mono的前景如何,要回答这个问题就需要搞清楚这三个.NET 实现之间的关系和将来如何演进. 到目前为止(2015.2.17),微软在Windows平台上的.NET Framework的实现最为完整,但是.NET Framework和windows操作系统有很深的绑定,难以跨平台.Xamarin主导的Mono项目在.NET 的基础类库实现上

Microsoft .NET Framework 的版本

自2000年6月22日微软向全球宣布自己的.NET战略,到现在已经七年多了.作为.NET战略的基础,Microsoft .NET Framework 也已经发行了多个版本.下面,我们就来看看这些年来微软到底发布了哪些 .NET Framework 版本.(关于 Microsoft .NET Compact Framework 的版本请参阅"黎波"的文章:"如何判断 .NET Compact Framework 的版本") Version Release Date 1