共用方式為


.NET Framework 支援和新功能

更新:2007 年 11 月

.NET Compact Framework 2.0 版引進新的功能,並對 .NET Framework 類別提供更多的支援。它也在許多領域提供更好的效能,這些包括 Just-in-Time (JIT) 編譯、記憶體回收、XML Web Service 及資料存取。

支援完整的 .NET Framework 功能

下表摘要 .NET Compact Framework 2.0 版中改進的 .NET Framework 功能支援:

擴充支援

說明

應用程式定義域

提供卸載應用程式定義域的支援。

匿名方法

.NET Compact Framework 支援新的 C# 功能,可讓您在委派中包含事件處理程式碼,如以下範例所示:

// In constructor.

button.Click += new EventHandler(sender,args)

{

// Increment a counter or other action.

};

密碼編譯支援

支援下列功能:

  • X.509 憑證

  • 雜湊:

    MD5 和 SHA1

  • 對稱金鑰加密:

    RC2、RC4、3DES 和 DES

  • 非對稱金鑰加密:

    RSA 和 DSA

DataSet 改進

支援 GetChanges 方法,以及 System.Data 命名空間中的其他類別。

事件

對於引發事件做出內部改進。

例外狀況

支援下列事件的改進例外處理:

泛型

如需泛型支援的資訊,請參閱 .NET Compact Framework 中的泛型

全球化

支援額外編碼方式。

組件

支援 Friend 組件 (C# 程式設計手冊)

網路

支援 NTLM 驗證和 IPv6,即下一代網際網路通訊協定。

支援 CredentialCache

已改進 XML 序列化效能。

支援 SOAP 1.2。

支援下列驗證通訊協定:

  • Negotiate (交涉)

  • NTLM

  • Kerberos

訊息佇列 (MSMQ)

提供使用 MSMQ 元件和 System.Messaging 類別的核心功能。如需詳細資訊,請參閱 .NET Compact Framework 中的訊息佇列

如需範例,請參閱 MSMQ 書籍訂單應用程式範例

部分類別

.NET Compact Framework 支援部分類別,這些類別是在 Microsoft Visual Studio 2005 中建立新專案時所使用的。

登錄機碼

您可以使用 RegistryKey 類別來設定登錄機碼。

在刪除機碼之前,必須將開啟的 RegistryKey 及其開啟的子 RegistryKey 物件都明確地關閉。

登錄機碼的最大深度是 15。這是一項 Windows CE 限制。

序列埠

您可像在完整 .NET Framework 一樣地存取序列埠。如需範例,請參閱序列通訊應用程式範例。Visual Studio 2005 模擬器也有提供序列埠的支援。

SQL Server

若要下載《SQL Server Compact 3.5 線上叢書》,請造訪 Microsoft 下載中心網站。

字串

如果 startIndex 參數大於 length 參數,Substring 方法便會擲回例外狀況。

String.Empty.Substring(0, 1) 會擲回 ArgumentException

執行緒處理

支援 BeginInvokeEndInvoke 方法,並使用具備 Invoke 方法的參數。

注意事項:

不支援非同步委派的 BeginInvokeEndInvoke

Visual Basic My 物件

.NET Compact Framework 2.0 支援下列 My 物件:

XML 支援

XML 支援包括下列項目:

新的功能

下表摘要 .NET Compact Framework 2.0 中新的裝置特定功能:

功能

說明

獨立開發

儘管 .NET Compact Framework 1.0 版不支援命令列編譯,.NET Compact Framework 2.0 卻有提供更強的獨立編譯和偵錯支援。如需詳細資訊,請參閱 HOW TO:在命令提示字元進行編譯

可在 2.0 版上執行舊版的 .NET Compact Framework 應用程式。

請參閱 HOW TO:設定執行階段版本

Microsoft.WindowsCE.Forms 中的新控制項

請參閱 Windows Form 和圖形

加強互通性

.NET Compact Framework 2.0 提供下列互通性的加強:

  • 機器碼互通性:

    • 加強的平台叫用型別封送處理

    • 將委派封送處理為函式指標

    • 額外型別 – 陣列、字串、結構

    • 內嵌陣列 – 具有 char[]、array[] 的結構 (Struct)

    • MarshalAs – 型別提示

  • 在您的 Managed 程式碼中使用 COM 物件:

    • RCW (執行階段可呼叫包裝函式) 支援啟用從 Managed 應用程式至 COM 物件的呼叫。但是,您無法透過 COM 來啟動 Managed 物件。

    • CCW (COM 可呼叫包裝函式) 支援啟用從機器碼至 Managed 程式碼的回呼。

    • 支援晚期繫結和早期繫結的呼叫 (IDispatch 和 vtable)。

    • 整合至 Visual Studio 2005。

雖然 .NET Compact Framework 只支援 System.Runtime.InteropServices 命名空間的子集,MarshalAsAttribute 屬性的支援卻能提供進階的封送處理功能。此外,.NET Compact Framework 2.0 還支援 Marshal 類別中的數個新成員。您可以透過 COM 將廣泛的型別封送處理至 .NET Compact Framework,這些包括所有的 OLE Automation 型別。不支援自訂封送處理、COM 單一執行緒 Apartment (STA) 執行緒模型 (Threading Model),以及自動產生的類別介面。

您可以設定登錄機碼,以便在記錄檔中記錄函式呼叫的封送處理。如需詳細資訊,請參閱 HOW TO:建立記錄檔

您也可以搭配 .NET Compact Framework 使用型別程式庫匯入工具 (TlbImp.exe)。在 Visual Studio 中,您可以在裝置專案中加入 COM 型別程式庫的參考。

至於封裝的結構,.NET Compact Framework 2.0 版不支援 Pack,但支援 Explicit 欄位及 FieldOffsetAttribute 屬性。請注意,目前的限制會使違反原生結構配置的結構無法進行封送處理。也就是說,Int32 值必須是 4 位元組對齊,Int64Double 值必須為 8 位元組對齊,依此類推。如果您需要項目不是自然對齊的封裝結構,則必須自行封送處理。

如需互通性和相關 HOW TO 主題的詳細資訊,請參閱 .NET Compact Framework 中的互通性

資源檔變更

.NET Compact Framework 2.0 版中的 .resx 檔案格式,與完整的 .NET Framework 相同。對於兩種 Framework 都能使用相同的資源檔產生器 (Resgen.exe)。不再需要 CFResgen.exe 公用程式。

請參閱

概念

Windows Form 和圖形

其他資源

.NET Compact Framework 2.0 版的新功能