 Thanks to the hosting virtual machine, different .NET CLI-compliant languages can operate on the same kind of data structures.Therefore, all CLI-compliant languages can use FCL and other .NET libraries that are written in one of the CLI compliant languages.When the source code of a CLI-compliant language is compiled, the compiler generates platform-independent code in the Common Intermediate Language (CIL, also referred to as bytecode), which is stored in CLI assemblies.