Common Language Specification (CLS) defines a subset of
Common Type System, which all language compilers targeting CLR must adhere to.
CLS is a subset of CTS.
All compilers under .NET will generate Intermediate Language
no matter what language is used to develop an application. In fact, CLR will
not be aware of the language used to develop an application. All language
compilers will generate a uniform, common language called Intermediate
Language. For this reason IL can be called as the language of CLR A platform for
cross language development.