在.net的世界里到底有什么呢?第一个是.net框架(.net Framework),现在最新的已经是4.0版本了,呵呵,但是我的netcms用的是2.0版本。第二个是.net集成开发环境,也就是我们平常看到的visual studio .net 2003 (2005 2008等)。是用来写程序和调试程序用的。当然,如果你够牛逼,你也可以用记事本或ultraedit。
先来聊一聊.net框架,学过java的朋友都知道jre(java虚拟机),实际上.net框架和jre一样都是一个虚拟机平台。这个平台构建在操作系统之上,全面接管操作系统。而后在这个平台上我们去开发我们的软件。对应windows操作系统的是.net平台,对应linux操作系统的是MONO平台(一群牛人整出来的东东)。.net框架包括两个部分:一个是CLR(公共语言运行时,也就是虚拟机)。一个是FCL(框架基础类库集)。这些类库里的类封装了文件操作、线程、XML等一系列的高级应用,我们可以用.net框架提供的7000多个类来轻松建立我们的应用程序。
我们以.net框架 3.0来看看.net的世界里有什么。从底层开始时一台裸机;其上是windows或linux操作系统;向上是CLR;在CLR上面是FCL;在FCL上是.net 3.0开发组件,开发组件又分两层,下面一层是ASP.net、ADO、WinForm等,上面一层是WPF、WCF、WWF等(注意2.0没有上面一层);在.net 3.0开发组件上是CLS(语言规范);在CLS上面是VB、C#、J#等编程语言了。我们反过来从编程语言这一层从上往下看可知,用任何编程语言编写的程序通过CLS的处理,最终转化成可以在CLR上运行的程序(这个程序就是通过各种语言对应的编译器编译成的中间语言代码MSIL)。在开发组件中,每一个开发组件都代表一种应用程序的方向,如asp.net可以建立web应用程序,winform可以建立桌面应用程序。
用.net编程,不了解.net的FCL是不行的。FCL封装了对windows、网络、文件、多媒体的处理功能,是所有.net语言都必须使用的核心类库。利用FCL我们可以开发以下6类应用程序:
windows窗体程序
windows控制台程序
XML Web服务
ASP.net Web程序
windows服务
.net组件
FCL类库有大约7000多个类,这些类被划分成了几个部分,每个部分都被包含在一个命名空间下(相当于文件夹)。最常用的类库有:System(系统操作)、Web编程、Data(数据库操作)、windows窗体编程、XML操作、线程操作、IO(文件操作)、Drawing(绘图操作)、Net(网络通信)、Reflection(反射操作)、Web服务操作、Collection(集合操作)。详细解释如下:
System:包含最基本的类,这些类提供数据类型、事件和事件处理、接口、属性、异常处理等操作。
System.Windows.Forms:包含用于创建基于windows的应用程序的类。
System.Collections:其中的类用于管理对象集合,如堆栈、队列、散列表等。
System.Drawing:其中的类用于操作二维图形,用于在windows窗体程序及web窗体程序中显示图像或进行打印。
System.IO:提供用于操作IO流、遍历目录和读写文件的类。
System.Net:提供用于网络通信的类、如p2p通信。
System.Reflection:操作反射,提供用于查看元数据以及延迟绑定类型和它们的成员的类。
System.Text:提供用于以不同的编码方式(如ascII或者Unicode)来操作文本的类。
System.Threading:操作线程,用于异步操作以及同步访问资源。
System.Xml:提供用于处理XML架构和数据的类。
System.Web.Services:提供用于创建和操作Web服务的类。
System.Web.UI:提供用于操作web窗体创建基于web的应用程序类。