Windos 2000
在單位的機房里好不容易才找到一台安裝 Windows 2000 Server SP4 操作系統的服務器,這台碩果僅存的服務器到本月底也要退役了。


Windows 2000 操作系統是沒有預裝任何版本的 .NET Framework 的。下圖中的 Microsoft .NET Framework 2.0 是我為了在該服務器上運行一些 C# 語言寫的小程序而安裝的。

Windows XP
下圖中的 Windows XP Professional SP3 操作系統是我們單位辦公用機專用的,裝機量非常的大。


同樣,Windows XP 操作系統也沒有預裝 .NET Framework,下圖中的 Microsoft .NET Framework 全家福也是我自己安裝的。

Windows Server 2003
Windows Server 2003 操作系統最初叫作“Windows .NET Server”,后改成“Windows .NET Server 2003”,最終被改成“Windows Server 2003”,於2003年3月28日發布,並在同年四月底上市。正如原來的名字中的 .NET 所暗示的,Microsoft .NET Framework 1.1 已經成為該操作系統的組件了,不需要另外安裝。2005年發售的 Windows Server 2003 R2 中內置了 Microsoft .NET Framework 2.0。除了前面提到的一台以外,我們機房中的其他服務器全部都是安裝這個版本的操作系統。


下圖的 Windows 組件向導中已經包括 Microsoft .NET Framework 2.0 了。

在添加或刪除程序中可以看到其他版本的 Microsoft .NET Framework:

Windows Vista
下圖中的 Windows Vista 是我購買的 Dell Inspiron 1520 本本預裝的操作系統。



可以看出,Microsoft .NET Framework 3.0 (includes .NET 2.0) 已經成為 Vista 操作系統的組件了。

更高版本的 .NET Framework 就要自己安裝了:

Windows 7
下圖中的 Windows 7 專業版目前僅用來測試兼容性:


可以看出,Windows 7 操作系統已經內置了 .NET Framework 3.5 (includes .NET 2.0 and 3.0)。
Microsoft .NET Framework 4 還需要自己安裝:

Windows 8
下圖中的 Windows 8 Consumer Preview 是我到 Microsoft 網站下載后安裝的。


可以看出,Windows 8 操作系統默認安裝了 .NET Framework 4.5,並且 .NET Framework 3.5 (includes .NET 2.0 and 3.0)也是該操作系統的組件,但是默認沒有啟用該組件。

所以下圖中就不包括任何版本的 .NET Framework 了。

如果在 Windows 8 操作系統中運行 .NET 2.0 的程序,就會彈出以下對話框。

測試程序
讓我們寫一個非常簡單的程序來測試一下吧:
1 using System;
2 using System.IO;
3
4 static class Tester
5 {
6 static void Main()
7 {
8 Console.WriteLine("OS Version: " + Environment.OSVersion);
9 Console.WriteLine("CLR Version: " + Environment.Version);
10 }
11 }
該程序在各種 Windows 操作系統中的運行結果如下所示:
Windows 2000 OS Version: Microsoft Windows NT 5.0.2195 Service Pack 4 CLR Version: 2.0.50727.832 Windows XP OS Version: Microsoft Windows NT 5.1.2600 Service Pack 3 CLR Version: 2.0.50727.3625 CLR Version: 4.0.30319.239 Windows Server 2003 OS Version: Microsoft Windows NT 5.2.3790 Service Pack 2 CLR Version: 2.0.50727.3625 CLR Version: 4.0.30319.239 Windows Vista OS Version: Microsoft Windows NT 6.0.6002 Service Pack 2 CLR Version: 2.0.50727.4216 CLR Version: 4.0.30319.239 Windows 7 OS Version: Microsoft Windows NT 6.1.7601 Service Pack 1 CLR Version: 2.0.50727.5420 CLR Version: 4.0.30319.239 Windows 8 Consumer Preview OS Version: Microsoft Windows NT 6.2.8250.0 CLR Version: 2.0.50727.6111 CLR Version: 4.0.30319.17379
上述結果中的 CLR 2.0 和 CLR 4.0 是分別使用相應版本的 C# 編譯器編譯后兩次運行的結果。
Windows 操作系統內核版本
各 Windows 操作系統的內核版本如下所示:
- Windows NT 5.0: Windows 2000
- Windows NT 5.1: Windows XP
- Windows NT 5.2: Windows Server 2003, Windows Server 2003 R2
- Windows NT 6.0: Windows Vista, Windows Server 2008
- Windows NT 6.1: Windows 7, Windows Server 2008 R2
- Windows NT 6.2: Windows 8
從上面可以看出,所謂的 Windows 7、Windows 8 不過是 Windows NT 6.1、6.2。而 Windows Server 2008 R2 相對於 Windows Server 2008 來說,進行了比較大的升級。
Components and Layers .NET Framework versions

上圖來源於:MSDN: .NET Framework Versions and Dependencies。
