與完整 .NET Framework 的二進位碼相容性
更新:2007 年 11 月
.NET Compact Framework 是完整 .NET Framework 和 Common Language Runtime 的相容子集實作。
缺少了強式名稱繫結原則,使用 .NET Compact Framework 編譯的應用程式,可以在完整的 .NET Framework 上繫結並執行。請注意下列考量事項:
.NET Compact Framework 組件用不同的強式名稱金鑰組簽名,因此 Common Language Runtime 可以區分此組件和其對應的完整 .NET Framework 組件。
.NET Framework 會提供繫結原則,在相容的 .NET Compact Framework 參考位置替代完整的 .NET Framework 組件。在一般情況下,就可能重複使用現有的元件,而不需要建立新的物件執行個體。例如,如果元件僅參考 .NET Compact FrameworkSystem 類別,則與兩種 Framework 都可相容。
完整 .NET Framework 不支援僅由 .NET Compact Framework 所支援的類別和型別,如 .NET Compact Framework 中支援的類別中所列。
就如同跨平台二進位碼相容性能夠簡化中介軟體元件開發和部署,豐富型用戶端 (Rich Client) 應用程式也應該善用裝置特定的功能來改進使用者經驗。這代表最佳的圖形使用者介面 (Graphic User Interface,GUI) 程式碼可能是目標專用的。
儘管 .NET Compact Framework 在獨立的命名空間和組件中列入裝置專用功能的考量以避免發生繫結衝突,仍可能會發生無法處理的不相容狀況。在這種情況下,如果意外使用到完整 .NET Framework 的裝置專用功能,可能會導致執行階段例外狀況,而不是應用程式載入的例外狀況。