目录(?)[-]

原文链接: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();
    }
}

参考资料

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

  1. .net Framework各个版本之间的发展

    原文:.net Framework各个版本之间的发展 上个星期看到了.NET 4.0框架退休日期逐渐临近文章,发现自己一直在使用NET  FrameWork,身为一个NET程序员,里面大概的区别自己还 ...

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

    上个星期看到了.NET 4.0框架退休日期逐渐临近文章,发现自己一直在使用NET  FrameWork,身为一个NET程序员,里面大概的区别自己还是知道的,但是自己要说出个所以然来了,发现还是有点力不 ...

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

    由于这篇文章记录的是2015年7月,那时.net core还是叫做.net core 5 名词定义 下列这些名词,写.NET 的人一定都不陌生,但你是否有真正理解呢?如果看了我的摘要文字说明还无法理解 ...

  4. .net版本之间的关系

    net framework 2.0,3.0与3.5三个版本之间关系如下: .net framework 2.0 = CLR 2.0 + FCL(framework class library) .ne ...

  5. Django Rest framework 之 版本

    RESTful 规范 django rest framework 之 认证(一) django rest framework 之 权限(二) django rest framework 之 节流(三) ...

  6. Visual Studio各版本工程文件之间的转换 [转载]

    原网址:http://www.cnblogs.com/jmliao/p/5594179.html Visual Studio各版本工程文件之间的转换   由于VS版本比较多,低版本无法直接打开高版本的 ...

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

    随着微软的.NET开源的推进,现在在.NET的实现上有了三个.NET Framework,Mono和.NET Core.经常被问起Mono的稳定性怎么样,后续Mono的前景如何,要回答这个问题就需要搞 ...

  8. .NET Core 和 .NET Framework 之间的关系

    引用一段描述:Understanding the relationship between .NET Core and the .NET Framework. .NET Core and the .N ...

  9. .NET Framework个版本说明

    .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 ...

随机推荐

  1. flash项目优化总结

    swc中的类如果没有在项目中没有被申明,在编译时就不会被编译进swf中,这样一些swc中的类和资源类如果不用了,只要不被声明就不会占用swf大小了.

  2. 连通图模板(HDU 1269)

    http://acm.hdu.edu.cn/showproblem.php?pid=1269 题目大意:给定一个图,判断该图是否是强连通图.(强连通图为从任意一点出发,可到达其他所有点).深搜的Tar ...

  3. js 去掉字符串前后空格

    //去左空格; function ltrim(s){ return s.replace(/(^\s*)/g, ""); } //去右空格; function rtrim(s){ r ...

  4. 遇到的check the manual that corresponds to your MySQL server version for the right syntax错误

    遇到的check the manual that corresponds to your MySQL server version for the right syntax错误. 结果发现是SQL关键 ...

  5. phpcms v9编辑器ckeditor设置回车换行br为段落p标签

    phpcms v9和dedecms自带的编辑器都是使用的ckeditor,在默认情况下使用ckeditor编辑内容时,按下回车键后在源代码显示的是<br>而非<p>标签,对于习 ...

  6. ABP的Zero Sample

    下载自:https://github.com/aspnetboilerplate/module-zero 打开D:\ABP\module-zero-master\sample里的ModuleZeroS ...

  7. apache的安装,启动和停止

    一.apache服务器的安装 安装步骤直接傻瓜式进行安装.并没有太大的难点.apache的配置是学习的重点和难点. 安装好后再浏览器地址栏输入http://localhost.若能够成功安装,则会显示 ...

  8. NDK开发之引用(局部引用,全局引用,虚全局引用)

    1.先引出我遇到的一个问题(我觉得先写问题,这样印象更深刻一点): Android Java层在调用本地jni代码的时候, 会维护一个局部引用表(最大长度是512), 一般jni函数调用结束后, jv ...

  9. jsp_设置文件编码

    jsp有两种方法可以设置文件编码: (1)<%@page language="java" contentType="text/html;charset=utf-8& ...

  10. 评分视图的封装 (星星 RatingView)

    #import "RatingView.h" #define kRatingScale 10 @implementation RatingView { UIView *_grayS ...