.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(@"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();
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM