Common Language Infrastructure

from Wikipedia, the free encyclopedia

The Common Language Infrastructure , shortly CLI is an international standard specifies the systems that spoke - and platform-neutral enable application development and execution. The standard is managed by the International Organization for Standardization under the number ISO / IEC 23271 and by Ecma International under the name ECMA-335. The current version is 6 from June 2012.

The CLI is a specification , not an implementation . Her best-known implementation, the .NET Framework from Microsoft for Windows systems. However, there are also CLI implementations for Unix / Linux systems, Mac OS X and BSD variants.

The development is largely determined by Microsoft. The Mono project has already submitted an initial amendment proposal for standardization.

History of origin

  • 2000, August - Microsoft , Hewlett-Packard and Intel submit the specification of the CLI to the ECMA for standardization.
  • 2001, December - The standard is passed as ECMA-335. IBM , Fujitsu Software, Plum Hall, Monash University and ISE contributed to the development.
  • 2001, December - The CLI specification is presented to ISO / IEC for standardization.
  • 2002, December - First revision of the standard for ECMA-335 2nd edition is adopted. The changes resulted in part from the ongoing ISO standardization process.
  • 2003, April - The content of ECMA-335 2nd edition is ratified by ISO / IEC as ISO / IEC 23271 (CLI) and ISO / IEC 23272 (CLI TR).
  • 2005, June - ECMA-335 3rd edition is standardized by the ECMA. In addition to general improvements, this standard mainly provides support for generics and a standardized format for debug information .
  • 2006, June - ECMA-335 4th edition is standardized by the ECMA.
  • 2006, December - ECMA-335 5th edition is standardized by the ECMA.
  • 2012, June - ECMA-335 6th edition is standardized by the ECMA.

The following companies and universities have contributed to the development of the standard: Borland , Fujitsu Software Corporation, Hewlett-Packard , Intel Corporation , IBM Corporation , ISE , IT University of Copenhagen , Jagger Software Ltd. , Microsoft Corporation , Monash University , Netscape Communications , Novell / Ximian (current name: Xamarin ), Phone.Com , Plum Hall , Sun Microsystems , University of Canterbury


The standard contains the following essential parts:


The CLI standard ECMA-335 3rd edition is divided into six parts, which are referred to as partitions. These are in detail:

  • Partition I: Concepts and Architecture - Describes the overall architecture of the CLI.
  • Partition II: Metadata Definition and Semantics - Contains information about metadata: the physical layout of the files, the logical contents and their structure.
  • Partition III: CIL - Describes the instructions of the CIL
  • Partition IV: Libraries - Contains a specification of classes and class libraries standardized as part of the CLI.
  • Partition V: Describes the uniform debugging format .
  • Partition VI: Appendices.


The following implementations of the CLI are available:

Each of these CLI implementations also has a VES implementation. The names for these VES implementations are known:


Web links