`
donsun
  • 浏览: 32621 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

WM应用开发中DotNet Compact framework版本的选择

阅读更多


WM应用开发中DotNet Compact framework版本的选择

目 录


1    概要    3
2    .NET Compact Framework 概述    3
2.1    .NET Compact Framework 结构    3
2.2    Windows CE    4
2.3    公共语言运行库(CLR)    4
2.4    框架(Framework)    4
2.5    开发平台(Visual Studio)    4
3    NetCF 1.0与2.0的对比    4
4    方案选择    5
5    参考资料    6

1    概要

本项目发布部署于Windows Mobile 5.0嵌入式移动设备,使用Microsoft Visual studio 2005为开发平台,C#.Net为主要开发语言,.Net Compact framework为运行时环境,目前.Net Compact framework有两个版本,分别为.Net Compact framework 1.0和.Net Compact framework 2.0。本文将论证哪个.Net Compact framework版本更适合本项目的开发与部署。

本文中使用的缩略语:

  • WM:Window Mobile 移动操作系统
  • VS2005:Visual studio 2005
  • NetCF:Microsoft.Net Compact framework

2    .NET Compact Framework 概述

.NET Compact Framework 建立了用来在设备上运行托管应用程序的环境。它提供对设备的基础功能的访问。另外,应用程序和组件可以在设备上和通过 Internet 交互。

2.1    .NET Compact Framework 结构

NET Compact Framework 继承 .NET Framework 全功能版的公共语言运行库体系结构用于运行托管代码。它提供与设备的 Windows CE 操作系统的互操作性,因此您能够访问本机函数并将最喜欢的本机组件集成到应用程序中。
可以同时运行托管应用程序和本机应用程序。应用程序域宿主(本身是本机应用程序)启动公共语言运行库的一个实例以运行托管代码。
下面的插图概括说明了 .NET Compact Framework 平台结构。

 2.2    Windows CE

.NET Compact Framework 使用 Windows CE 操作系统提供核心功能和若干设备特定的功能。若干类型和程序集(例如用于 Windows 窗体、图形、绘制和 Web 服务的类型和程序集)已重新生成以便在设备上高效运行,而不是从 .NET Framework 全功能版复制。
.NET Compact Framework 提供下列与 Windows CE 的互操作性:

  • 与本机安全的兼容性。
  • 与本机安装程序的完全集成。
  • 与本机代码的互操作性(使用 COM interop 和平台调用)。

2.3    公共语言运行库(CLR)

.NET Compact Framework 公共语言运行库 (CLR) 也被重新生成,以允许受约束的资源在有限的内存上运行以及高效率地使用电池电源。
Windows CE 和公共语言运行库之间存在一个平台适配层(插图中未显示),用以将 CLR 和 Framework 需要的服务和设备接口映射到 Windows CE 服务和接口。

2.4    框架(Framework)

.NET Compact Framework 是 .NET Framework 的子集,也包含专门为 .NET Compact Framework 设计的功能。它提供功能和易用性,可以帮助将本机设备应用程序开发人员引向 .NET Framework 以及将桌面应用程序开发人员引向设备。

2.5    开发平台(Visual Studio)

使用 Microsoft Visual Studio 2005 开发智能设备应用程序就像开发桌面应用程序一样轻松。Visual Studio 中的智能设备开发包括一组针对 Pocket PC、Smartphone 和嵌入式 Windows CE 的开发的项目类型和模拟器。

3    NetCF 1.0与2.0的对比

NetCF1.0与NetCF 2.0的公共语言运行时库(CLR)都是微软发行的,并且NetCF1.0的运行时库捆绑于WM2003以及后续所有版本中,使用范围非常广泛,并且其性能也非常优秀。NetCF2.0的出现,旨在兼容NetCF1.0各种特性的基础上,增加更强大的支持与功能,使用NetCF2.0将可以获得更高的执行效率,以及完善的用户界面支持。
NetCF2.0相对于NetCF1.0新增的支持包括:

  • 更多的系统控件支持
  • 用户控件支持(User Controls)
  • 泊位与屏幕自适应控件属性
  • XML以及数据库访问上的相关支持
  • 性能改进与国际化资源支持

更多内容参考CSDN联机帮助http://msdn2.microsoft.com/en-us/library/aa446574.aspx

NetCF2.0的优势是显而易见的,但是对于微软最新的WM5.0版本中并没有捆绑NetCF2.0的运行时环境,而包括WM2003版本以后的所有WM版本中都捆绑内置了NetCF1.0,这就意味着我们在发行基于NetCF2.0的应用程序时,必须将NetCF2.0的运行时库打包于安装程序中,一同部署与目标平台上才能够正确的运行。
值得庆幸的包括WM2003以后的WM版本都可以安装NetCF2.0的运行时环境,但由于NetCF2.0的更多新特性必须由WM5支持,所以安装入WM2003系统中的NetCF2.0的一些新功能将不能使用。
微软提供了NetCF2.0的可再发行软件包,我们可以在制作安装程序的同时将这个可再发行软件包打包入安装程序,这样就可以在没有安装NetCF2.0的操作系统下部署运行基于NetCF2.0的软件产品了。NetCF2.0可发行软件包的下载地址参考:http://www.microsoft.com/downloads/details.aspx?familyid=0C1B0A88-59E2-4EBA-A70E-4CD851C5FCC4&displaylang=zh-cn,其中包含了NetCF1.0的可再发行软件包。

部分特性对比表:

比较项目 NetCF1.0 NetCF2.0
性能 尚可 优秀
易于开发 尚可 优秀
二进制重用特性 尚可 优秀
丰富控件支持 尚可 优秀
跨平台移植 尚可 优秀
部署与发行 优秀(NetCF1.0被广泛支持) 尚可(需要携带NetCF2.0)

 

4    方案选择


由上一章的对比中,可以非常明显的看出NetCF2.0的特性更加优秀,只是在部署过程中需要携带一个相对比较大的NetCF2.0的部署包,否则无法运行于目标平台之上,但这并不是什么大问题,微软提供了完美解决方案,也就是说NetCF2.0在发布与系统兼容性上可以达到NetCF1.0的水平,只不过安装文件相对比较大一些在没有NetCF2.0的平台上安装过程比较长而已,但是面对NetCF2.0更多的优良特性,这一点还是可以忽略和容忍的。
推荐方案:.Net Compact framework 2.0

5    参考资料

 

  •    .NET Compact Framework 概述

             http://msdn2.microsoft.com/zh-cn/library/w6ah6cw1(VS.80).aspx

  •    .NET Compact Framework 2.0 Service Pack 1 可再发行组件包

             http://www.microsoft.com/downloads/details.aspx?familyid=0C1B0A88-59E2-4EBA-A70E-4CD851C5FCC4&displaylang=zh-cn

  •    Microsoft .NET Compact Framework 开发常见问题解答

             http://www.microsoft.com/china/msdn/library/NetFramework/netcompactframework/understandingnetcfFAQ.mspx

  •    What's New in the .NET Compact Framework 2.0

             http://msdn2.microsoft.com/en-us/library/aa446574.aspx

  •    创建用于检测和更新 .NET Compact Framework 的 MSI 软件包

             http://www.microsoft.com/china/MSDN/library/archives/library/dnnetCOMp/html/netcfdepl.asp

 

 

 

 

 

  • 大小: 39.3 KB
分享到:
评论

相关推荐

    Sqlite 操作类代码

    本文将介绍如何在Windows Mobile(WM)环境下,利用.NET Compact Framework(.NET CF)来访问和操作SQLite数据库。 首先,要使用.NET CF访问SQLite,你需要一个ADO.NET Provider,即SQLite .NET Provider。这是一个...

    cmd脚本-bat批处理-RUN.zip

    cmd脚本-bat批处理-RUN.zip

    【数据库技术】MySQL数据类型详解:数值、日期/时间、字符串类型的应用与优化

    内容概要:本文详细介绍了 MySQL 中的数据类型,将其分为数值、日期/时间和字符串三大类。数值类型涵盖从 TINYINT 到 BIGINT 的整数类型以及浮点数和 DECIMAL 类型,每种类型都有明确的存储大小和取值范围。日期/时间类型包括 DATE、TIME、YEAR、DATETIME 和 TIMESTAMP,适用于不同的日期和时间表达需求,其中 TIMESTAMP 具有自动更新特性。字符串类型则由 CHAR、VARCHAR、BLOB、TEXT、ENUM 和 SET 组成,能够存储固定长度或可变长度的字符及二进制数据。此外,还提及了空间数据类型,如 GEOMETRY 等,用于存储地理信息和几何图形数据。; 适合人群:数据库管理员、软件开发者及其他需要深入了解 MySQL 数据库设计与优化的专业人士。; 使用场景及目标:①为数据库设计提供理论依据,确保选择合适的数据类型以优化性能;②帮助开发者理解各种数据类型的特性和应用场景,以便更好地进行应用程序开发。; 其他说明:正确选择 MySQL 数据类型对于提高数据库效率至关重要,应根据实际需求合理选用不同类型。例如,在存储大量文本时,应考虑使用 TEXT 或 BLOB 类型;对于需要精确计算的数值,则优先选用 DECIMAL 类型。同时,了解每种类型的特点有助于避免潜在的数据丢失或溢出风险。

    cmd脚本-bat批处理-去掉字符串头所有的0.zip

    cmd脚本-bat批处理-去掉字符串头所有的0.zip

    cmd脚本-bat批处理-全盘禁止运行指定程序.zip

    cmd脚本-bat批处理-全盘禁止运行指定程序.zip

    cmd-bat-批处理-脚本-语音参考字典.zip

    cmd-bat-批处理-脚本-语音参考字典.zip

    Docker 新手入门指南.pdf

    内容概要:本文档《Docker 新手入门指南》详细介绍Docker这一开源容器化平台,旨在帮助新手理解并掌握Docker的核心概念和基本操作。文中首先解释了Docker的概念及其相对于传统虚拟机的优势,如更快的启动速度、更低的资源占用和更好的隔离性。接着,文档提供了详细的安装步骤,包括不同操作系统下的安装方法以及针对国内用户的镜像加速配置。随后,文章深入讲解了镜像管理和容器操作的基础命令,如拉取镜像、运行容器等。进一步地,文档介绍了使用Dockerfile构建自定义镜像、实现数据持久化、进行端口映射以及利用Docker Compose管理多容器应用等高级技巧。最后,给出了一些学习建议和注意事项,鼓励读者动手实验并关注安全性。 适合人群:适合对容器技术感兴趣的初学者,尤其是有一定Linux基础或打算深入了解Docker的开发人员。 使用场景及目标:①帮助读者快速上手Docker,掌握从安装到实际操作的一系列技能;②通过实例演示,如构建Python Web服务、部署WordPress和搭建Jenkins环境,让读者能够将所学应用于实际项目中;③强调容器化的优势,如提高部署效率、解决环境差异问题。 阅读建议:建议读者跟随文档逐步操作,亲身体验每个步骤,同时参考官方文档和社区资源,不断实践以巩固所学知识。特别注意安全性和资源管理方面的提示,确保容器环境的安全稳定运行。

    cmd-bat-批处理-脚本-九宫格图案.zip

    cmd-bat-批处理-脚本-九宫格图案.zip

    工程机械全球斗式提升机链条市场分析:预计2030年全球斗式提升机链条市场规模将达到1亿美元

    据QYResearch调研团队最新报告“全球斗式提升机链条市场报告2024-2030”显示,预计2030年全球斗式提升机链条市场规模将达到1亿美元,未来几年年复合增长率CAGR为4.4%。 市场驱动因素: 散装物料输送行业的增长:水泥、采矿、农业和发电等行业的需求不断增长,推动了斗式提升机在垂直物料运输中的应用。基础设施建设和工业化:全球建筑活动的不断增长和工业厂房的扩张推动了对重型输送系统的需求。链式系统的效率和耐用性:链式斗式提升机因其强度高、使用寿命长而成为重型和高温应用的首选。自动化和工厂优化:采用自动化和智能控制系统可提高链式输送机的性能和运行效率。 市场制约因素: 初始安装和维护成本高:与基于皮带的替代方案相比,链式系统更昂贵且更复杂,尤其对于小型作业而言。恶劣环境下的磨损:如果不进行适当的维护,持续暴露于磨蚀性或腐蚀性材料中会导致更快的老化。某些设施的空间限制:斗式提升机的垂直设计和占地面积可能并不适合所有场地布局,从而限制了其适用性。 市场机遇: 链条材料的技术进步:耐磨耐腐蚀合金和涂层的开发延长了产品的使用寿命和可靠性。农业和食品加工行业的扩张:新兴市场对谷物处理、化肥运输和散装食品转运的需求不断增长,推动了链条的使用。现有系统的改造和升级:有机会用高性能链条系统替换过时的机械部件,以提高产量。对节能输送解决方案的需求不断增长:对降低能耗的重视推动了链传动系统和铲斗设计的创新。 根据QYResearch头部企业研究中心调研,全球范围内斗式提升机链条生产商主要包括Tsubakimoto Chain、Renold、Thiele、Pewag、RUD Ketten、HEKO Group、John King Chains、B.V.Transmission Industries、Transmin、华通气动等。2024年,全球前五大厂商占有大约51.0%的市场份额。 就

    cmd脚本-bat批处理-删除指定路径下指定文件及文件夹外的所有文件及文件夹1.zip

    cmd脚本-bat批处理-删除指定路径下指定文件及文件夹外的所有文件及文件夹1.zip

    【人工智能领域】麦肯锡2025年重点报告:AI如何重塑组织架构与价值创造-大型企业引领通用AI部署与风险管理

    内容概要:本文由麦肯锡发布,探讨了人工智能(AI)特别是生成式AI(gen AI)如何重塑组织架构及创造价值。研究表明,企业正在通过重新设计工作流程、提升治理水平和应对更多与gen AI相关的风险来捕捉AI的价值。CEO对AI治理的监督与工作流的重新设计是取得财务影响的关键因素。大公司正引领这一变革,它们更积极地招聘AI相关人才并进行员工再培训。此外,企业正逐步采用AI于多个业务职能,包括营销、销售、产品开发和服务运营。尽管目前大部分公司尚未看到AI对企业整体利润的显著影响,但已有迹象表明,AI的应用正在增加收入并减少成本。 适合人群:企业高管、AI项目经理、战略规划人员以及对AI技术应用感兴趣的商业人士。 使用场景及目标:①帮助企业管理层理解如何通过AI技术优化内部流程并提高效率;②为AI项目的实施提供参考,确保企业在部署AI时能够最大化其商业价值;③指导企业在风险管理、人才招聘和员工技能升级方面做出明智决策。 其他说明:随着AI技术的发展,企业需要不断调整自身结构和流程以适应新技术带来的变化。文中提到的最佳实践如建立专门团队推动AI采用、定期沟通AI价值、高层领导积极参与等做法,可以为企业成功引入AI提供有益借鉴。此外,文中还强调了AI对不同行业的影响差异,以及个人使用AI工具的趋势变化。

    【数据库安全】MySQL中SQL注入攻击原理与防御措施:提升Web应用安全性设计在MySQL环境下SQL

    内容概要:本文主要介绍了SQL注入的概念、危害及其防范措施。SQL注入是攻击者通过恶意构造输入,使服务器执行非预期的SQL命令的一种攻击方式,常因用户输入未

    cmd脚本-bat批处理-查看工作组.zip

    cmd脚本-bat批处理-查看工作组.zip

    cmd-bat-批处理-脚本-不显示输入密码.zip

    cmd-bat-批处理-脚本-不显示输入密码.zip

    Gauss-Seidel迭代,OpenMP并行化本质上是不行的,输入文件

    Gauss-Seidel迭代,OpenMP并行化本质上是不行的,输入文件

    cmd-bat-批处理-脚本-IE不能打开新链接修复.zip

    cmd-bat-批处理-脚本-IE不能打开新链接修复.zip

    cmd-bat-批处理-脚本-批处理加密.zip

    cmd-bat-批处理-脚本-批处理加密.zip

    基于蒙特卡洛法的可靠性分析Matlab代码实现

    以下是一个基于蒙特卡罗法的可靠性分析Matlab程序代码,该代码能够处理具有任意分布的随机变量,并且可以考虑多个失效模式。代码中包含了测试案例,可以直接在Matlab软件中运行。同时,代码中附有详细注释,便于理解。 该程序基于蒙特卡罗法进行可靠性分析,适用于处理具有任意分布的随机变量以及多个失效模式。 用户可以通过修改random_vars和random_params来定义随机变量的分布类型和参数,通过修改failure_modes来定义失效模式函数。 程序中包含一个测试案例,可以直接在Matlab软件中运行,以验证程序的正确性。 程序代码中附有详细注释,便于用户理解和修改。

    cmd-bat-批处理-脚本-断开网络联结.zip

    cmd-bat-批处理-脚本-断开网络联结.zip

    【数据库管理】MySQL删除数据库操作指南:命令行与PHP脚本实现数据库安全移除

    内容概要:本文详细介绍了三种删除 MySQL 数据库的方法:使用 SQL 语句 drop 命令、使用 mysqladmin 命令行工具以及使用 PHP 脚本。drop 命令可以直接删除指定数据库,带有 IF EXISTS 选项可以防止因数据库不存在而报错。mysqladmin 工具提供了一种交互式的删除方式,增强了安全性。PHP 脚本则展示了如何通过编程语言与 MySQL 进行交互,完成数据库的删除操作。文中强调了删除数据库前应确保有足够权限,并提醒操作不可逆,建议先备份。 适合人群:具有基础 MySQL 操作知识的数据库管理员、开发者及运维人员。 使用场景及目标:①了解并掌握多种删除 MySQL 数据库的方式;②提高对数据库管理的安全意识,避免误删重要数据;③学会在不同环境下选择合适的工具进行数据库维护。 阅读建议:由于删除数据库是一项高风险操作,在实际应用中务必谨慎行事。建议读者先在一个测试环境中练习本文提到的各种方法,熟悉每一步骤后再应用于生产环境。同时,对于 PHP 脚本部分,需要具备一定的编程基础。

Global site tag (gtag.js) - Google Analytics