Az IL (Intermediate Language) általánosan a köztes nyelveket jelenti, ebben az összefoglalóban azonban kizárólag a Microsoft által szabványosított CIL (Common Intermediate Language) (régebben MSIL-nek hívott) köztes nyelvvel foglalkozunk. Ez tekinthető a legalacsonyabb szintű, ember által még olvasható programnyelvnek, amely a .NET keretrendszerhez elérhető. A .NET platformra létező szabványos Common Language Infrastructure (CLI) értelmében valamennyi .NET-en futtatható programnyelv CIL-re fordul le. Az IL tehát egy objektum-orientált, assembly-hez hasonló nyelv, amely egy veremalapú, absztrakt virtuális gépen értelmeződik és futtatás előtt a konkrét processzor gépi kódjára fordul (JIT, Just-in-Time Compilation).
A struktúra a következőképpen néz ki .NET alatt: adott CLI (Common Language Interface) egy specifikáció, amihez egy .NET-es nyelvnek igazodnia kell, hogy megfelelően integrálódjon a keretrendszerbe. A magas szintű nyelven megírt forráskód IL-re fordul le (CIL - Common Intermediate Language), majd ebből összeállítódik egy menedzselt .NET assembly, és ezt futtatja a .NET CLR környezet (VES - Virtual Execution System). Megjegyzendő, hogy az utóbbi assembly fogalom a bájtkódra fordított bináris állományt jelenti, míg ha nyelvként utalunk rá, akkor ezt egyértelműen jelezni fogjuk.
Az IL nyelvvel való alapos megismerkedésben nagy segítséget tud nyújtani a .NET keretrendszerhez adott ILDasm.exe, vagy az ingyenesen letölthető Reflector nevű segédprogram.