.net framework 的核心是公共语言运行库(CLR即.net运行库),在CLR下运行的代码称为托管代码(managed code)
我们用各种.net支持的高级语音编写的程序最终都可以在.net framework下执行就是靠CLR实现的。
程序的编译分为两个阶段:
1、由高级语言编译为中间语言(Intermediate language(IL,数字代码),
这个过程由编译器完成,由公共语言规范(CLS)来约束不同的.net编译器,使得编译出的IL能得到.net的支持
2、将IR编译成平台相关的机器码,
这个过程是在程序运行时由CLR完成的,可实现平台的无关性,目前.net还不能很好的支持平台无关性(项目mono已经实现平台的无关性)