zoukankan      html  css  js  c++  java
  • .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.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(@"SOFTWAREMicrosoftNET Framework SetupNDP"))
            {
                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();
        }
    }

    参考资料

  • 相关阅读:
    spring boot @value 使用
    mac Navicat premium 链接oracle
    List sort 排序
    mac 配置jdk+maven环境变量
    mybatis 根据主键批量insert或update
    git 常用命令
    SpringBoot整合Activiti案例
    Activiti网关-并行网关
    Activiti网关-包含网关
    Activiti网关-排他网关
  • 原文地址:https://www.cnblogs.com/cn-chenhao/p/4773042.html
Copyright © 2011-2022 走看看