Para generarlo, el compilador se basa en la especificación CLS "(Common Language Specification)" que determina las reglas necesarias para crear el código MSIL compatible con el CLR.