CLR,.NET提供了一个运行时环境,叫做公用语言运行时(Common Language Runtime),是一种多语言执行环境,支持众多的数据类型和语言特性。他管理着代码的执行,并使开发过程变得更加简单。这是一种可操控的执行环境,其功能通过编译器与其他工具共同展现。
它的主要功能是负责将代码转换成为机器代码,简单的说就是在不同的平台上安装了它,就能运行同样的程序,并且程序不用修改。
而不同的程序在.NET环境下编译完毕之后,都变成了IL,也就是.NET框架中中间语言(Intermediate Language)的缩写使用.NET框架提供的编译器可以直接将源程序编译为.exe或.dll文件,但此时编译出来的程序代码并不是CPU能直接执行的机器代码,而是一种中间语言IL(Intermedate Language)的代码。
IL的特征是低级语言、语法简单(数字代码),能快速转变成机器代码,所以具备平台无关性的基础。
而程序被编译之后,就只是变成了IL,当需要运行时,在CLR的基础上,才变为机器代码,在不同的平台上运行。