熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

.NET Compact Framework概述

2013-11-13 09:43:29  來源: .NET編程 

  NET Compact Framework 是 NET Framework 全功能版的子集它實現了約 % 的 NET Framework 全功能版類庫還包含特定於移動開發和嵌入式開發的功能和類

  本文並沒有囊括兩個框架間的所有差異而是列出開發應用程序所需的一些重要差異

  應用程序域

  NET Compact Framework 目前不支持將程序集加載到非特定於域的代碼區域中供多個 NET Compact Framework 中的應用程序域 使用

  數組

  盡管某些語言支持不為零的數組下界但是公共語言運行庫不提供這樣支持當第一個元素不是 它將引發 MissingMethodException

  ASPNET

  NET Compact Framework 主要是胖客戶端平台不提供 ASPNET 支持要開發用於移動設備的網頁可以使用 ASPNET 移動 Web 控件要開發用於個人計算機或 Web 服務提供程序的網頁請參見 ASPNET 文檔

  程序集和文件格式

  這兩個 Framework 的應用程序都使用程序集這兩個 Framework 都訪問可移植可執行 (PE) 文件這類文件包含 Microsoft 中間語言 (MSIL) 和定義 NET Framework 應用程序的元數據PE 文件可以引用由其他程序集文件定義和共享的編程命名空間

  有關更多信息請參見與 NET Framework 全功能版的二進制兼容性

  程序集和全局程序集緩存

  NET Compact Framework 目前不支持多模塊程序集但確實支持附屬程序集

  類和類型

  NET Compact Framework 支持 NET Framework 類庫的一個子集此子集適合於旨在資源受限制的設備上運行的應用程序並且在語義上與 NET Framework 中的同名類兼容

  有關確定 NET Compact Framework 支持內容的信息請參見如何使用 NET Compact Framework 的類庫

  COM Interop

  NET Compact Framework 版支持 COM interop該版本還具有增強的封送功能有關更多信息請參見 NET Compact Framework 中的互操作性

  公共語言運行庫

  這兩個 Framework 中的公共語言運行庫都具有托管代碼執行實時 (JIT) 代碼編譯和垃圾回收的優點它們支持公共語言規范 (CLS)

  這兩個 Framework 都有內置的基元類型以及其他在生成應用程序時可以使用和派生新類型的類型

  NET Compact Framework 的公共語言運行庫的大小大約是 NET Framework 全功能版公共語言運行庫的 %

  控件

  NET Compact Framework 支持 NET Framework 全功能版中的大部分 Windows 窗體控件並且包含特定於 NET Compact Framework 的控件

  Windows 窗體控是專門為 NET Compact Framework 生成的有關更多信息請參見NET Compact Framework 中的控件

  當前目錄

  Windows CE 操作系統中不存在當前目錄的功能因此 NET Compact Framework 不支持 GetCurrentDirectory 和 SetCurrentDirectory 方法

  NET Compact Framework 支持 ProcessStartInfo 的 WorkingDirectory 屬性但是後續啟動和文件加載時運行的可執行文件不保留該屬性的上下文

  數據

  NET Compact Framework 提供 ADONET 的子集實現並且包含 SQL Server Mobile 數據提供程序SystemDataOleDb 命名空間不受支持

  有關數據支持的更多信息請參見數據訪問和 XML 支持

  數據類型和浮點精度

  NET Compact Framework 不支持 MidpointRounding 枚舉

  在除法運算中如果除數非常大或是最大浮點值或者除數非常小或是最小浮點值則運算返回零而不是正確的計算結果

  MIPS 平台不支持二進制浮點算術標准規范指定的完全精度可能會導致不可預知的結果出於性能考慮NET Compact Framework 不為此平台提供浮點模擬功能

  在命令提示符處進行調試

  NET Compact Framework 不支持 NET Framework 版提供的新的 NET Framework 命令行調試器 (MDbgexe)兩個 Framework 的 版都否決了舊的 CLR 調試器 (DbgCLRexe)

  部署應用程序

  部署非常容易只需通過以下幾種方式之一將程序集復制到目標設備即可使用桌面計算機的電纜連接或紅外端口連接使用無線 Internet 或 Intranet 連接在 Microsoft Visual Studio 可在調試時直接部署到設備

  診斷跟蹤

  NET Compact Framework 不支持用於跟蹤的配置文件但您可以使用性能計數器有關更多信息請參見性能和診斷

  已釋放對象

  NET Framework 全功能版不保證對已釋放對象的屬性或方法的訪問總能成功但是NET Framework 中訪問 Text 之類的某些屬性通常確實能夠成功由於 NET Framework 與 NET Compact Framework 之間的實現差異NET Compact Framework 中訪問已釋放對象的方法或屬性差不多總是失敗

  編碼和本地化

  本地化或全球化支持(如適合於區域設置的日期格式和排序表)盡可能服從基礎操作系統以實現兼容性和精簡高效

  NET Compact Framework 依賴於操作系統進行數據排序因此對於某些區域性有可能出現意外的排序結果

  NET Compact Framework 不支持每個線程一個 CurrentUICulture 設置

  有關全球化支持的更多信息請參見 NET Compact Framework 中的編碼和本地化

  事件

  NET Compact Framework 支持 GotFocus 和 LostFocus 事件但不支持 Activated 和 Deactivated 事件異常說明字符串

  NET Compact Framework 在一個單獨的 DLL (SystemSRDLL) 中提供異常錯誤消息字符串從而可以節省內存

  也可以提供適合其他區域性的異常字符串使應用程序得以本地化

  文件名和路徑

  Windows CE 將未指定路徑信息的文件名解析為位於設備的根目錄下而不是在應用程序目錄下

  為了確保操作成功請指定絕對路徑信息

  NET Compact Framework 處理以 file:// 方案為前綴的 URI 字符串的方式與 NET Framework 全功能版不同相對的 file://myfile 解析為 \\myfile使用 file:///myfile(三個斜槓)將解析為根目錄中的 \myfile

  可通過 Version 獲取程序集的版本但其支持依賴於設備制造商並且無法保證

  若要獲取包含應用程序的目錄的名稱請參見如何獲取應用程序目錄

  高分辨率

  在 NET Compact Framework 版中將在 Visual Studio 項目中自動處理 DPI 分辨率有關高分辨率的更多信息請參見如何處理方向和分辨率更改

  輸入/輸出 (I/O)

  由於設備操作系統的差異I/O 模型存在約束和限制……NET Compact Framework 不提供文件更改通知

  由於設備 I/O 在 RAM 中發生因此無法設置或訪問文件和目錄屬性

  安裝和 CAB 文件

  可以使用 CAB 文件並創建 MSI 應用程序來分發應用程序

  語言

  NET Compact Framework 支持使用 Visual Basic 和 Visual C# 進行開發但是目前不支持 C++

  Math

  並不是所有的 Math 方法在所有的設備平台上都可以得到支持但為了兼容起見將這些方法包括在 API 中

  內存

  NET Compact Framework 經過了優化特別適合於用電池供電的系統並且避免了高強度地使用 RAM 和 CPU 周期有關節省內存的更多信息請參見設備內存管理和如何提高性能

  網絡

  NET Compact Framework 提供了用於建立紅外連接的紅外數據協會(IrDA) 類以及用於為設備的 HTTP 請求提供服務的 Web 偵聽類這些類僅在 NET Compact Framework 中可用有關更多信息請參見網絡和連接

  性能測試

  NET Compact Framework 不支持代碼分析或系統監視器中的 Perfmonexe 文件但是您可以使用性能計數器請參見

  性能和診斷了解更多信息

  代理代碼

  NET Compact Framework 不支持所有由 Web 服務描述語言工具 (Wsdlexe) 生成的代碼若要確定不支持哪些代碼請參見如何使用 Wsdlexe 生成的代理

  反射

  NET Compact Framework 不支持 SystemReflectionEmit 命名空間

  在比較 MethodInfoFieldInfoPropertyInfoEventInfoMemberInfoMethodBaseConstructorInfo 和 ParameterInfo 等反射對象時NET Compact Framework 目前不支持相等運算符 (==)作為替代方法請參見實現 Equals 方法

  遠程處理

  NET Compact Framework 不支持遠程處理可以為其他解決方案使用 NET Compact Framework 中的消息隊列

  安全消息傳遞

  NET Compact Framework 不支持使用 HTTPS 的客戶端證書和身份驗證使用基本身份驗證

  安全性

  NET Compact Framework 中的安全中介紹了一些重要的安全性差異和注意事項

  序列化

  出於大小和性能方面的考慮NET Compact Framework 不支持使用 BinaryFormatter 的二進制序列化和使用 SoapFormatter 的 SOAP 序列化

  但是對於在 XML Web services 中使用 SOAP 傳輸對象數據提供序列化支持並且支持將數據集序列化為 XML

  大小

  NET Compact Framework 的大小是 Net Framework 全功能版可再發行包的 %由於 Windows CE 文件系統壓縮因此在磁盤上的大小要小 %

  套接字

  不是所有的套接字選項都受支持有關更多信息請參見套接字編程

  字符串處理正則表達式

  使用 NET Compact Framework 的正則表達式的應用程序與使用 NET Framework 全功能版的正則表達式的應用程序的二進制代碼不兼容但它們的源代碼兼容

  線程

  一個 NET Compact Framework 應用程序最多可以創建四個線程

  主應用程序線程

  用來控制可由系統或應用程序安排的各種時間段計時器和超時的線程用來跟蹤活動 TCP/IP 接口更改的線程(模擬 Windows XP 中提供而 Windows CE 中未提供的介質檢測行為)

  用來運行對象終結器的線程在對第一個可終結對象進行垃圾回收時創建該線程

  有關線程處理支持的更多信息請參見 NET Compact Framework 中的線程處理

  時間間隔

  Now 返回的值只精確到秒而不是毫秒可以使用 TickCount 屬性獲得更精確的度量值

  計時器

  不支持 SystemTimersTimer 的 Start 和 Stop 方法但是將 SystemWindowsFormsTimer 的 Enabled 屬性設置為 true 或 false可以啟動和停止計時

  Visual Basic My

  NET Compact Framework 支持 Visual Basic 的 My 功能(請參見使用 My 開發)但下列 My 對象除外

  

  MyApplication MyComputer MyUser MySettings

  Web 服務

  Web 服務客戶端直接運行 wsdlexe 生成的程序集

  請不要使用 localhost 在設備上創建 Web 服務因為 localhost 是指運行應用程序的設備即該設備本身應使用計算機名稱或其 IP 地址

  XML

  出於大小方面的考慮NET Compact Framework 不支持 XML 架構驗證它確實支持 XML 文檔對象模型 (DOM)有關更多信息請參見數據訪問和 XML 支持


From:http://tw.wingwit.com/Article/program/net/201311/11420.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.