This standard defines an infrastructure in which applications written in a wide variety of programming languages can run with a wide variety of system platforms, and without having to be rewritten. The standard also takes into account the specific characteristics of different system environments.
As far as . NET, the Common Language Infrastructure specifies a system for program- and platform-independent .NET application development. In addition to the implementation in the .NET framework, there are further implementations for Unix, Linux and Mac OS X.
ECMA Standard 335 consists of several parts dealing with the CLI concept and architecture, the definition of metadata and semantics, command sets, profiles and libraries, and debug formats. As for the architecture, a normative description of the Common Type System( CTS), the Virtual Execution System( VES), and the Common Language Specification( CLS) is provided. The CLI instruction set describes the Common Intermediate Language( CIL) and the debugging format the exchange of debugging information between CLI manufacturer and user.