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.