.net framework 的核心是公共語言運行庫(CLR即.net運行庫),在CLR下運行的代碼稱爲託管代碼(managed code)
我們用各種.net支持的高級語音編寫的程序最終都可以在.net framework下執行就是靠CLR實現的。
程序的編譯分爲兩個階段:
1、由高級語言編譯爲中間語言(Intermediate language(IL,數字代碼),
這個過程由編譯器完成,由公共語言規範(CLS)來約束不同的.net編譯器,使得編譯出的IL能得到.net的支持
2、將IR編譯成平臺相關的機器碼,
這個過程是在程序運行時由CLR完成的,可實現平臺的無關性,目前.net還不能很好的支持平臺無關性(項目mono已經實現平臺的無關性)