Microsoft Intermediate Language, the Microsoft .NET platform's equivalent of Java bytecode.

MSIL is a CPU-independent instruction set into which .NET Framework programs are compiled. They are converted to native code prior to execution by a Just In Time (JIT) compiler. MSIL is checked for type-safety as part of the JIT compilation process. MSIL and metadata are contained in a portable executable (PE) file, which is based on a combination of the Microsoft PE executable format and COFF.