.NET Framework各版本彙總以及之間的關係
阿新 • • 發佈:2019-02-08
.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 |
||
說明 | 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();
}
}
|