对于.NET,微软自己也没有一个详细确切的定义。但是我们可以这样认为:.NET 是微 软公司要提供的一系列产品的总称。具体说来,.NET 由下面的几个部分组成:.NET 战 略、.NET Framework、.NET 企业服务器和.NET 开发工具。 为了能够在.NET Framework 上进行程序开发,微软把 Visual Studio 进行升级,并把升 级后的产品命名为 Visual Studio.NET。这就是.NET 开发工具。 .NET Framework 是.NET 战略的核心。.NET Framework 分为以下几个部分:MS 中间 语言、CLR、.NET Framework 类库、.NET 语言、ASP.NET 和 Web 服务。 MS 中间语言是.NET 的通用语言。无论使用哪一种.NET 语言编写的程序代码,在执 行之前,都会把它编译成为 MS 中间语言。 CLR(Common Language Runtime,公共语言运行时刻库)用于执行 MS 中间语言。 .NET Framework 类库中包含了大量可以实现重要功能的代码库。用户在编写程序的时 候可以很方便地把这些库调用到应用程序中,实现更加复杂的功能。由于这些类库的存在, 使得编写功能强大的程序更加容易。 .NET 语言是指可以将使用其编写的代码编译成为 MS 中间语言的的编程语言。常见的 语言有 VB.NET 和 C#等。Web 服务是指可以通过 Web 访问的组件。 公共中间语言 在.NET Framework 中使用高级语言(例如 VB.NET、C#)编写的程序,需要在运行前将 其编译成为中间语言(例如 MS 中间语言)。需要注意的是,中间语言并不是一种可以直接 执行的机器代码。与高级语言编写的代码相比,它的可读性很差,但是进行了一系列的优 化。 为了执行中间语言,需要一个执行环境 CLR。CLR 在.NET Framework 中的位置十分 重要,可以说是.NET Framework 的基础。CLR 用 JIT(Just-In-Time)编译器把中间语言代码 编译成可以执行的代码,并对程序进行最后的、与机器相匹配的优化,使得程序可以在所 在计算机上尽可能高效地运行。 采用这种方式的原因是,早期的编译方式是把程序源代码直接编译成机器代码。这时 编译好的程序虽然也进行了与机器相匹配的优化,但是这些优化都是针对编译源代码的机 器进行的。如果把编译好的程序放到其他类型的机器上,那么所进行的优化就有可能没有 任何意义,并且如果机器的硬件发生变化,那么还有编译后的程序无法执行的可能,因为 新的机器可能没有原来机器所拥有的某种资源。而如果采用了公共中间语言的方式,就可 以很好地解决这个问题。由于中间语言与机器无关,所以它可以在任何一个可以运行CLR 的机器上运行。并且由于所有的关于机器的优化都是由 CLR 进行的,所以不存在早期编译 所产生的由于机器不同而产生的不兼容的问题。