The Common Language Infrastructure, or CLI, is the definition of an environment "in which applications written in multiple high-level languages may be executed in different system environments without the need to rewrite the application to take into consideration the unique characteristics of those environments."
The ECMA Standard (ECMA-335) can be downloaded from http://www.ecma-international.org/publications/standards/ecma-335.htm
This is the basis of MicrosoftDotNet, the MonoProject, and related software.
See also SharedSourceCli