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