.NET框架是一套包含了类库集合、执行环境和开发平台的技术。这个平台允许基于.net框架编程而不是针对任何特定平台。基于.net框架编写的程序不需要担心平台或底层操作系统的特性。因此,实现了.NET的体系结构都可以执行.NET程序。这是因为运行环境提供了一个介于底层体系结构和被运行程序之间的虚拟机。
.net框架的核心是公共语言运行时间(CLR)。CLR是虚拟机的实现,他提供了任何.net语言编写程序的环境。用c#或VB.NET编写的程序被编译为一种与平台无关的中间语言(MS-IL)。这些编译好的文件叫做组合(assembly),它包含了MS-IL指令和元数据。他们的文件名后缀为.dll 或者.exe。当要运行这些程序的时候,CLR把这些组合加载进应用程序域(Application Domain)。当程序要求执行指令的时候,CLR把 MS-IL指令即时编译为特定的底层结构的本地代码。一旦指令被编译为本地代码,他们就保存下来以便cpu执行。