MBL开发跨平台的WindowsMobile应用程序.ppt
文本预览下载声明
MBL 325开发跨平台的Windows Mobile应用程序 你遇到过这些问题吗? 我想让一个.NET Compact Framework应用程序运行在桌面计算机上,应该怎么做? 我自己写了一个用于桌面计算机的dll,移植到Pocket PC上不能用,请帮帮我! 你关心这些问题吗? 扩大您的市场 使用现有的业务逻辑 来启动新的项目 超越竞争对手 给你的老板留下深刻印象! 在不同的设备上使用相同的逻辑代码 使用现有的桌面工具改善在.NET Compact Framework上进行的开发 课程内容安排 背景 差异 Microsoft .NET 操作系统/平台 改进 Visual Studio 2005改进 编程语言支持 实现 重定向目标平台 条件编译 差异 “精简的”.NET Framework 不支持: ngen ASP.NET服务 Remoting 运行时宿主 CAS 二进制序列化 Reflection.Emit CodeDom 应用程序配置 不完整的命名空间、类型、方法重载等 .NET Compact Framework v1.0中特有的类型 Microsoft.WindowsCE.Forms InputPanel、MessageWindow/Message System.Net.IrDAx / System.Net.Sockets.IrDAx EndPoint、Client、DeviceInfo、Listener System.Data.SqlServerCE SqlCeXXXX Command、CommandBuilder、Connection、DataAdapter、DataReader、Engine、Error、ErrorCollection、Exception、Parameter、RemoteDataAccess、Replication、Transaction .NET Compact Framework v2.0中特有的类型 Microsoft.WindowsCE.Forms HardwareButton MobileDevice.Hibernate SystemSettings.ScreenOrientation DocumentList Notification LogFont Microsoft.WindowsMobile.DirectX Direct3D SqlCeResultSet Microsoft Windows Mobile 5.0 提供了附加的类型(库) 属于操作系统的一部分 不属于.NET Compact Framework 可以由.NET Compact Framework 1.0和2.0共同使用 Microsoft.WindowsMobile PocketOutlook Configuration Status Telephony Forms .NET Compact Framework CLR 垃圾收集器 使用“标记/清除”方式(不分代) 三个阶段:简单、压缩、完全 触发条件 应用程序错误 应用程序被移至后台 在v1.0中分配了750KB,(v2.0中是1MB) JIT 统一了sJIT和iJIT 不支持ngen MSIL 不支持calli (但支持委托) 不支持localloc Pocket PC vs. Desktop 输入法 窗体/对话框尺寸 应用程序(窗体)间导航 应用程序(窗体)的关闭 文件系统 内存 (资源) 限制 部署 改进 Visual Studio 2005移动设备应用程序开发特性 通用的ResX资源 支持各种屏幕分辨率 新的模拟器 新的调试器 目标设备可变 同时支持.NET Compact Framework 1.0和2.0 编程语言支持 目前只支持Visual C#和Visual Basic Visual C#支持完整的语言特性 .NET Compact Framework 2.0新增了volatile关键字 Visual Basic语言可以使用支持库 Microsoft.VisualBasic命名空间中的大部分类型支持精简版,和其他Framework类型一样 少量MSIL不受支持 不支持calli、localloc 实现 可重定向的.NET Compact Framework应用程序 .NET Compact Framework应用程序可以直接运行在桌面计算机上 直接执行即可,无需任何额外工作 运行时判断平台类型 System.Environment.OSVersion.Platform 如果使用了特定于.NET Compact Framework的程序集,应用程序就会崩溃 可重定向的.NET Compact Framework应用程序 在PC上运行.N
显示全部