Skip to content
//ECMA C# and Common Language Infrastructure Standards
ECMA C# and Common Language Infrastructure Standards2019-08-19T10:22:06-07:00

ECMA C# and Common Language Infrastructure Standards

The C# Language and the Common Language Infrastructure (CLI) specifications are standardized through Ecma International®. The first editions of these standards were published by Ecma in December 2001.

Subsequent revisions to the standards have been developed by the TC49-TG2 (C#) and TC49-TG3 (CLI) task groups within the Programming Languages Technical Committee (TC49), and adopted by the Ecma General Assembly and subsequently by ISO/IEC JTC 1 via the ISO Fast-Track process.

Latest Standards

The following official Ecma documents are available for C# and the CLI (TR-84). These links are direct from Ecma International®:

File name Content
ECMA-334.pdf C# Language Specification
ECMA-335.pdf Common Language Infrastructure
ECMA-335.zip XML-based Library Specification
TR-084.pdf Information Derived from Partition IV XML File
TR-084.zip XML Tool, Libraries in Microsoft© Word and PDF

 

The official ISO/IEC documents are available from the ISO/IEC Freely Available Standards page. These links are direct from that page:

File name Content
  ISO/IEC 23270:2018 Information technology — Programming languages — C#
ISO/IEC 23271:2012 Information technology — Common Language Infrastructure (CLI)
Partitions I to VI
ISO/IEC TR 23272:2011 Information technology — Common Language Infrastructure (CLI)
— Technical Report on Information Derived from Partition IV XML File

 

Annotated Standards

Members of the Standard committees and others have combined to produce annotated versions of previous versions of these Standards. These are:

  • The Common Language Infrastructure Annotated Standard, James S. Miller & Susann Ragsdale, Addison-Wesley, 2004, ISBN 0-321-15493-2 (based on Edition 2 of Ecma-335)
  • C# Annotated Standard, Jon Jagger, Nigel Perry & Peter Sestoft, Morgan Kaufmann, 2007, ISBN 978-0-12-372511-0 (based on Edition 4 of Ecma-334)

Microsoft Implementation Specific Version

The following document is a version of the CLI specification with Microsoft implementation-specific notes added. These notes provide extra information about Microsoft’s Common Language Runtime (CLR) implementation of the CLI.

CLI With MS Notes.pdf

 

Background

In August 2000, Microsoft Corporation, Hewlett-Packard and Intel Corporation co-sponsored the submission of specifications for the Common Language Infrastructure (CLI) and C# programming language to the international standardization organization Ecma. As a result, Ecma formed two task groups (TG3 and TG2, respectively) within TC39, its technical committee responsible for programming languages and application development.

During the next year, the co-sponsor companies, in conjunction with other Ecma members and guests (including IBM, Fujitsu Software, Plum Hall, Monash University and ISE), refined these specifications into standards. In December 2001, the Ecma General Assembly ratified the 1st edition of the C# and CLI standards as Ecma-334 and Ecma-335, respectively. A technical report on the CLI, Ecma TR-84, was also ratified.

In late December, 2001, Ecma submitted the standards and TR to ISO/IEC JTC 1 via the latter’s Fast-Track process. The ISO/IEC standards and TR were published in April 2003 and are known formally as ISO/IEC 23270 (C#), ISO/IEC 23271 (CLI) and ISO/IEC 23272 (CLI TR). Equivalent specifications were adopted as 2 nd edition standards and TR by Ecma at its December 2002, General Assembly.

Subsequent to the initial revisions, both standards have been updated with new features and corrections. Each revision undertaken through the Ecma task groups has subsequently been submitted through the ISO/IEC JTC1 Fast-Track process. These revisions include a Foreword that describes the changes from the previous revision. Ecma provides historical revisions to the ECMA-334 and ECMA-335 standards.

Joining Ecma

To participate in the standardization process, contact your organization’s Ecma representative. If your company does not currently participate in Ecma and wishes to do so, please contact Ecma directly.

Acknowledgements

The following organizations have participated in the work of Ecma TC39/TG2 and TC39/TG3 and their contributions are gratefully acknowledged: Borland, École Polytechnique Fédérale de Lausanne, Eiffel Software, Fujitsu, Google, Hewlett-Packard, Humanitarian Toolbox, Intel Corporation, IBM Corporation, ISE, IT University Copenhagen, Jagger Software Ltd., JP National C# Standards Committee, JSL (UK), Kahu Research (New Zealand), Microsoft Corporation, Monash University, Netscape, Novell Corporation, OpenWave, Phone.Com, Plum Hall, Sun Microsystems, Twin Roots, and Xamarin.

Feedback