.NET Framework由两部分组成:
1. 框架类库(Framework Class Library)
2. 公共语言运行库(CLR)
1.框架类库
.NET Framework包含成千上万能用于构建应用程序的类。框架类库被设计用来使最普通的编程任务更易于完成。
框架中的每一个类都可以有属性、方法和事件。属性、方法和事件都作为类得成员公开给外界。
2.公共语言运行库(CLR)
.NET Framework的第二部分是公共语言运行库,用于执行应用程序代码。
当使用像C#和Visual Basic .NET这样的语言编写.NET Framework应用程序时,源代码从不会直接编译成机器码。想法,C#编译器或Visual Basic .NET编译器会把代码转换成一种叫MSIL(微软中间件语言)的特殊语言。
MSIL非常像一种面向对象的汇编语言。但与传统的汇编语言不同,MSIL不与特定CPU相关。MSIL是一种底层的、平台无关的语言。
当应用程序正式运行时,JITTER(Just-In-Time编译器)把MSIL代码“实时(just-in-time)”编译成机器码。通常情况下,应用程序并不会整个地从MSIL编译成机器码,只有在编译执行中被实际调用的方法才会被编译成机器码。
事实上,.NET Framework只理解一种语言---MSIL