与 .NET Framework 全功能版的二进制兼容性
更新:2007 年 11 月
.NET Compact Framework 是 .NET Framework 全功能版和公共语言运行库的兼容子集实现。
在缺少强名称绑定策略的情况下,用 .NET Compact Framework 编译的应用程序将绑定到 .NET Framework 的全功能版并在其上运行。在此过程中,需要注意下列事项:
.NET Compact Framework 程序集用不同的强名称密钥对签名,以便公共语言运行库可以将它们与其在 .NET Framework 全功能版中的对应项区分开。
.NET Framework 提供的绑定策略会用 .NET Framework 全功能版中的程序集替代兼容的 .NET Compact Framework 引用。这样在一般情况下不必创建新的对象实例即可重用现有组件。例如,如果组件只引用 .NET Compact FrameworkSystem 类,它将与两个 Framework 兼容。
.NET Framework 全功能版不支持只受 .NET Compact Framework 支持的类和类型(如 .NET Compact Framework 中受支持的类中所列)。
正如跨平台二进制兼容性能够简化中间件组件的开发和部署一样,胖客户端应用程序也应能利用设备特定的功能来改善用户体验。这意味着,最佳图形用户界面代码可能是目标特定的。
为了避免绑定冲突,.NET Compact Framework 已将设备特定的功能分解为单独的命名空间和程序集。尽管如此,可能还会出现无法处理的不兼容分解情况。在这些情况下,若在 .NET Framework 全功能版中无意间使用了设备特定的功能,则会导致运行时异常而不是应用程序加载异常。