所谓的.NET Framework概念,百度一下是这么说的:它是支持生成和运行下一代应用程序和
XML Web services 的内部
Windows 组件。
.NET Framework 具有两个主要组件:公共语言运行库(CLR)和 .NET Framework 类库。公共语言运行库是 .NET Framework 的基础。可以将运行库看作一个在执行时管理代码的代理,它提供内存管理、线程管理和远程处理等核心服务,并且还强制实施严格的类型安全以及可提高安全性和可靠性的其他形式的代码准确性。这类似于Java的虚拟机。事实上,代码管理的概念是运行库的基本原则。以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。.NET Framework 的另一个主要组件是类库,它是一个综合性的面向对象的可重用类型集合,可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面 (GUI) 应用程序,也包括基于 ASP.NET 所提供的最新创新的应用程序(如 Web 窗体和 XML Web services)。
看了这些是不是会有点迷糊?其实用过.NET Framework的人就把CLR理解成程序运行的环境,而.NET类库无非就是提供了功能支持的封装。
按照 .NET Framework=CLR+.NET F程序库的公式类推,.NET Compact Framework和.NET Micro Framework也是由这两个组件构成的。只是针对的开发领域不同:.NET Framework是传统的PC机和网络应用,.NET Compact Framework和.NET Micro Framework针对所谓的嵌入式开发应用。那么,.NET Compact Framework和.NET Micro Framework又有什么区别呢?.NET CF针对的是运行着
Windows CE系列OS的硬件平台,比如安装了Windows Mobile的手机或者是PPC,以及一些采用CE的工控系统等等。而.NET MF是针对资源更为有限的嵌入式设备(比如没有MMU的ARM7),它提供了一个可引导的运行时环境,不需要OS的支持。
这三者所包含的功能架构是依次递减的,这从名字上也很容易看出。.NET CF对 .NET Framework 进行了一些重大的删减,使它能够适应 Windows CE 的资源限制。如几乎删除了所有方法的重载、不支持打印、删除了与 GDI+ 相关的功能。而到了.NET MF比起CF更加精简,在CF的基础上删去了组建模型、SQL支持、ADO.NET等。
在开发上,三者都可被统一到VS2005里头了。.NET CF支持两种开发语言:C# .NET 和 Visual Basic .NET。由于 J# 是后来才添加到 Visual Studio .NET 开发环境中的,因此 .NET CF不支持它。.NET CF还有一个语言限制,这是 .NET Framework 所没有的。在 .NET Framework 中,一个项目可以使用多个语言的组件,而 .NET CF中的项目则限制使用一种语言:C# .NET 或 Visual Basic .NET。解决这一单语言项目限制的方法是使用“类”模板创建其他项目。将可替代的语言代码添加到模板中,然后只要在应用程序项目中添加对这些类的引用即可。
参考资料:百度百科、MSDN