CIL es coneixia originalment com Microsoft Intermediate Language (MSIL) durant les versions beta del . idiomes NET. A causa de l'estandardització de C# i CLI, el bytecode ara es coneix oficialment com a CIL.[3] Les definicions de virus de Windows Defender continuen fent referència als binaris compilats amb ell com a MSIL.[4]
Durant la compilació dels llenguatges de programació CLI, el codi font es tradueix al codi CIL en lloc del codi objecte específic de la plataforma o del processador. CIL és un conjunt d'instruccions independent de la CPU i de la plataforma que es pot executar en qualsevol entorn que admeti la infraestructura del llenguatge comú, com ara .NET en temps d'execució a Windows o el temps d'execució Monomultiplataforma. En teoria, això elimina la necessitat de distribuir diferents fitxers executables per a diferents plataformes i tipus de CPU. El codi CIL es verifica per a la seguretat durant el temps d'execució, proporcionant una millor seguretat i fiabilitat que els fitxers executables compilats de manera nativa.[5][6]
Després de l'execució d'un conjunt CIL, el seu codi es passa pel compilador JIT del temps d'execució per generar codi natiu. També es pot utilitzar la compilació anticipada, que elimina aquest pas, però a costa de la portabilitat dels fitxers executables.
El processador de l'ordinador executa el codi natiu.