Programming languages that conform to the CLI have access to the same base class library and are capable of being compiled into the same intermediate language (IL) and metadata. IL is then further compiled into nativecode particular to a specific architecture.
Because of this intermediate step, applications do not have to be rewritten from scratch. Their IL only needs to be further compiled into a system's native code.
The Joy of Rotor Microsoft has released "Rotor," their shared-source version of the .NET
Framework. The good, the bad, and the ugly of this million+ lines of code.