.NET Framework 是什么?
-.net framework是一个重新包装的windows操作系统的应用程序接口库(API Library);
- .NET Framework是一个类似java虚拟机的运行时(Common Language Runtime),借了java 虚拟机的很多概念,但机制更优化(比如它有java所没有的“确定的垃圾收集器”机制Deterministic Garbage Collection,强制资源在指定点回收);
- 定义了一个共同中间语言(Common Intermediate Language),所有语言都先编译到这个CIL,使得不同语言开发的程序(VB,C#,J#等等)可以在同一机制下运行,并且可以无缝配合工作。
- .NET Framework是操作系统服务和应用程序的桥梁,是一个应用软件抽象层。
.NET Framework不是什么?
- 并不包括新的windows内核代码
- 并没有增加Windows的操作系统一级的功能,它只是OS功能的延伸
- 并不会加快windows的速度
所以,.NET framework主要是一个程序架构,在这个架构下,程序员可以快速高效地开发高质量的软件。但因为它是一个中间抽象层,所以基于.net framework的软件一般会比直接针对windows API开发的程序速度慢。就好比从前你要盖一个违章建筑,要自己买原始的建筑材料,比如砖,水泥,要知道如何用砖和水泥砌成一堵墙,但现在.net framework已经提供了很多可以灵活配置的半成品部件,包括“墙”,你直接装上用就是了,质量往往比你自己买砖和水泥砌的墙还好,但当然这个配置的“墙”一般没有你自己砖一瓦砌起来的墙对你自己的胃口。
.net framework一般比较适合开发在pc上运行的桌面软件和企业级的软件,但可能基于下面两个原因,Microsoft推出在移动设备上运行的.net CF(compact framework):
1)Java 早就有了在移动设备上运行的 J2ME(Java Micro Edition),是J2SE(Java Standard Edition)的子集,微软在产品线上必须跟它竞争;
2)移动设备大行其道,很多企业级的系统需要整合到移动设备上,使移动设备成为这些系统的终端,而很多新的企业级系统是针对.NET framework开发的,那么使用.net CF开发手机端程序可以很方便整合到服务器端系统上(比如用.net remoting直接访问服务器端的.net应用)。
在PC上,.net framework经历了几代:从1.1,到2.0到3.0以致最新的3.5,需要说明的是,这几代产品并不是完美向下兼容的,也就是说,你装了.net 2.0并不一定能运行针对.net 1.1开发的软件,而往往要同时装上1.1才行。但是在PPC上的.net compact framework据说是向下兼容的(我试过装了3.5是可以运行现有的.net CF 软件),你装一个3.5就应该可以运行基于任何以前版本开发的软件了。
.net CF 2.0据说效率并不高,起码我装的几个2.0的软件,感觉是比较慢。3.5据说优化了很多,但问题是,3.5才刚出来没多久,针对3.5的软件还几乎没有,所以还无从证实3.5是否真的比2.0快了很多。只是因为3.5向下兼容2.0的原因,我自己把3.5刷进去是为了确保以后能运行所有基于.net CF的软件而已。
所以我估计很多ppc软件开发商还对.net CF持观望态度,移动设备对软件性能要求比较苛刻,就这一点也足以令人不敢贸然使用了。不过用.net framework开发软件真的很方便,尤其是微软的.net开发工具做得很强大,这是它比较成功的地方
有些PPC软件一定要安装.NET Compact Framework 才支持运行
本程序包使用 ActiveSync 4.0 及以上版本来更新设备,更多信息请参见 Windows Mobile Center。请确保在运行 NETCFSetupv35.msi 之前连接好您的设备。如果未连接设备,ActiveSync 会存储 CAB 文件,直到您连接了设备后才进行更新。不使用 ActiveSync 的用户可以直接在设备上运行与安装文件夹中的找到的设备相匹配的 CAB 文件。