Windows作業系統中的.NET Framework支援

來源:互聯網
上載者:User
window


Windows 作業系統中的 .NET Framework 支援
Hans Verbeeck
Microsoft EMEA

2002 年 9 月

適用於:
Microsoft? .NET Framework
Microsoft? Windows? 作業系統

摘要:本文提供了有關能夠安裝 Microsoft .NET Framework 的 Microsoft Windows 版本的資訊,同時還列出了 .NET Framework 的軟體要求以及常規平台支援的某些例外情況.此外,還解釋了如何準備跨平台支援的應用程式。

目錄
支援的平台
.NET Framework 軟體要求
準備跨平台支援
附錄

支援的平台
.NET Framework 可安裝在表 1 所示的平台中。

表 1:可以安裝 .NET Framework 的平台

支援除 Microsoft ASP.NET 以外的所有 .NET Framework 支援整個 .NET Framework
Windows 98 Windows 2000(所有版本 - 不需要 Service Pack)
Windows 98 SE Windows XP Professional
Windows ME
Windows NT 4.0(所有版本 - 需要 Service Pack 6a)
Windows XP Home Edition

首先要注意的是,.NET Framework 無法在 Windows 95 上運行,這一點與其他不支援 Windows 95 的 Microsoft? 產品(如 Microsoft? Office XP)是一致的。

可以運行 .NET Framework 的作業系統可分為兩組:一組可以運行 .NET Framework 和 ASP .NET,另一組只能運行 .NET Framework。此分組也可以用於區分可用作 .NET 應用程式伺服器和只能用作運行 .NET 應用程式的用戶端的作業系統。請注意,Windows NT 4.0 的所有版本(甚至是 Server 版),均應被視為 .NET 應用程式的用戶端作業系統。

除 ASP .NET 以外,不同平台上的 .NET Framework 所支援的功能只有一些很小的差別。例如,Windows 98 和 Windows ME 沒有事件記錄系統,因此安裝在這些系統上的 .NET Framework 不支援 System.Diagnostics 命名空間中的 Eventlog 及其相關對象。

在 XML 企業服務中也可以發現一些不同之處。Windows NT 4.0 支援安裝 Microsoft? Transaction Server (MTS),這一點與 Windows 2000 附帶的 COM+ 1.0 或 Windows XP 附帶的 COM+ 1.5 是不同的。.NET Framework 中的 XML 企業服務只能與 COM+ 1.0 或更高版本協同工作,因此 System.EnterpriseServices 命名空間所提供的功能在 Windows NT 4.0 中根本不可用,在 Windows 2000 中僅部分可用。

附錄對這些區別進行了全面的介紹,而準備跨平台支援部分則解釋了如何使應用程式處理這些區別。

.NET Framework 軟體要求
Internet Explorer 5.01
.NET Framework 和基本公用語言運行庫包含的某些元素依賴於由 Internet Explorer 的某個版本實現的技術。這些元素包括代碼下載功能、加密技術和 Intranet/網際網路區域檢測等。這些技術要求以及 Microsoft Internet Explorer 5.01 已實現廣泛部署的事實決定了將該版本設定為安裝和運行 .NET Framework 所需的最低版本。

表 2 說明在安裝 .NET Framework 之前,必須在 Windows 98、Windows 98 SE 和 Windows NT 4 中安裝 Internet Explorer 5.01。而 Windows ME、Windows 2000 或 Windows XP 作業系統已經包含了 Internet Explorer 5.01 或更高版本,因此不需要其他動作。

表 2:安裝要求

要求 平台 安裝操作 Internet Explorer 的預設版本
IE 5.01 Windows 98 另行安裝 IE 4.01
IE 5.01 Windows 98 SE 另行安裝 IE 5.00
IE 5.01 Windows NT4 另行安裝 IE 4.01
IE 5.01 Windows ME 無需另行安裝 IE 5.50
IE 5.01 Windows 2000 無需另行安裝 IE 5.01
IE 5.01 Windows XP 無需另行安裝 IE 6.00

單擊此處可獲得 Internet Explorer 6.0(英文)。

MDAC 2.6
Microsoft? 資料訪問組件 (MDAC) 一直是 Microsoft 用來發行實現通用資料訪問範例技術的方法。MDAC 既可以單獨下載和安裝,也可隨作業系統或其他軟體(如 Microsoft? SQL Server?、Office XP)或其他在安裝程式中包含該組件的應用程式一起安裝。

為正常運行,System.Data 命名空間中的功能(即 Microsoft? ADO.NET),要求系統中具有 MDAC 2.6 或更高版本。運行時檢查的完整版本號碼是 MDAC 2.6.6526。

當在被視為是 .NET 應用程式有效伺服器作業系統(任何 Windows 2000 版本或 Windows XP Professional)上安裝 Framework 時,如果沒有可用的 MDAC 2.7 或更高版本,安裝程式將發出警告。您可以忽略該警告,因為它不會中斷安裝。圖 1 顯示了這樣的警告。

圖 1:安裝程式警告

而在其他動作系統(Windows 98、Windows ME 和 Windows NT 4.0)上安裝 .NET Framework 時,即使 MDAC 不可用也不會發出警告,儘管 MDAC 也是 ADO.NET 在這些系統中正常運行所必需的。

因此,這意味著在 Windows 2000 或 Windows XP Professional 上安裝 .NET Framework 時,安裝程式將檢查與運行時需要的版本 (2.6.6526) 不同的版本 (2.7)。

要獲得 MDAC,請轉到 Universal Data Access(英文)Web 網站。

其他要求
在 Windows 2000 上安裝 .NET Framework 時,如果沒有安裝 Internet Information Server 5 (IIS 5),則系統會發出警告資訊;在 Windows XP Professional 上安裝時,如果沒有可用的 IIS 5.1,系統也會發出警告資訊。由於其他動作系統不支援 ASP.NET,因此安裝程式不檢查是否有 IIS。

當編寫使用 Windows 管理規範 (WMI) 事件和類的代碼時,.NET 應用程式將使用 System.Management 命名空間。如果作業系統不支援 WMI,該命名空間中的功能將不起作用。

PlatformNotSupportedException
.NET Framework 的某些部分需要某些軟體組件,但這並不阻止安裝。如果運行時需要的組件不可用,.NET Framework 將引發一個 PlatformNotSupportedException 類型的異常,指示您的應用程式準備該類型的組件。更多內容將在下一節中予以介紹。

準備跨平台支援
從 .NET Framework 設計之初,跨越多平台的支援就一直是設計要求。因此,.NET Framework 提供的大量重要命題都源於它能夠使開發人員編寫出可跨多個平台啟動並執行應用程式。通常情況下,.NET Framework 類只受到一個因素的限制,即基礎平台上應存在公用語言運行庫。

通常,類似的概括性描述都存在例外情況,本文主要是使這些例外更加明確。因此在設計託管類時,應始終考慮所支援平台間的可移植性。要確保在 .NET Framework 支援的平台間具有可移植性,最好使用 .NET Framework 中已經提供的其他Managed 程式碼類來產生類。每當建立調用本地 API 的 .NET 類時,不支援正式支援的平台的風險會增加。

由於 .NET Framework 是一種新技術,因此新類可能具有調用 Win32? 或其他本地 API 的合法需要,但要實現此調用,應對所做的平衡以及該決策對平台支援的影響有著深刻的認識。為此,需要考慮的重要問題有:

是否真的有必要調用此非託管 API(通過 P/Invoke)?
.NET Framework 中是否已有封裝了該 API 的類?
如果該技術需要一些關於基礎系統的資料,是否可以使用 System.Management 層而不是通過調用本地 API 獲得?
如果確實需要調用 Win32 本機 API,是否可以調用跨平台支援的 API,而不是調用可能限制在底層平台上運行能力的“Ex”方法?
由於 .NET Framework 下的作業系統層隨新版本的發行而不斷地進化發展,.NET 類有可能需要依賴於並非在所有支援的作業系統中都可用的基礎作業系統技術。這種情況下,類設計人員需要將跨所有平台支援該類的成本與勘探在每個底層作業系統中實現該功能所獲得的效益進行比較。如果可能的話,該類應在底層平台上提供等效的功能,或在這些平台上提供該功能的子集。在缺少底層作業系統的某些部分(例如 IIS),類就不能工作的情況下,不應在該平台上安裝此類,或者類應檢查基礎依賴關係,並在此依賴關係不可用時,引發 PlatformNotSupportedException。

假設某個試圖建立託管 Socket 對象的應用程式在未安裝 Winsock 的作業系統上調用 Socket 建構函式。將引發以下異常。

“PlatformNotSupportedException: Socket cannot be created due to a missing required platform component, Winsock 1.1”(PlatformNotSupportedException:由於缺少所需的平台組件 Winsock 1.1,無法建立通訊端)

當使用附錄中提到的命名空間中的託管類時,最好添加用於處理 PlatformNotSupportedException 的代碼。

考慮一個應用程式,在該應用程式中您想記錄特定事件。如果該應用程式要求在 Windows 2000 或 Windows 98 上運行,就需要考慮在 Windows 2000 中將事件寫入事件記錄,在 Windows 98 中將事件寫入文字檔。您可以檢查附錄來查看哪些作業系統支援 System.Diagnostics 命名空間中的 EventLog 對象。以下代碼說明,在支援該對象時,如何寫入事件記錄;不支援該對象時,如何寫入普通的文字檔。

Try
Dim objEventlog As New EventLog("應用程式", ".", "MyApp")
objEventlog.WriteEntry("應用程式已啟動")
Catch ex As PlatformNotSupportedException
' 對於 Windows 98 或 Windows ME

Dim sFile As String = "app.log"
Dim sr As System.IO.StreamWriter

If Not System.IO.File.Exists(sFile) Then
sr = System.IO.File.CreateText(sFile)
Else
sr = System.IO.File.AppendText(sFile)
End If

sr.WriteLine("應用程式已啟動")
sr.Close()

Catch ex As Exception
MessageBox.Show("無法執行某項操作")
End Try
進一步的說明
有關 .NET Framework 精簡版(運行在智慧型裝置上的版本)的詳細資料,請訪問 Visual Studio .NET(英文)Web 網站。




相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.