IL = Intermediate Language
MSIL = Microsoft intermediate Language
CIL = Common Intermediate Language
IL, MSIL and CIL are the same thing. When we compile .NET project it not directly converted to binary code i converted to Intermediate language. And when we run the project IL is converted into binary code at run time. every language of .NET programming is converted into IL. Only some part of IL which is required at run time is converted into binary code. DLL and EXE of .NET are also in IL form.