The Common Language Runtime (CLR)
The Common Language Runtime (CLR) is Microsoft’s commercial implementation of the Common Language Infrastructure (CLI) specification. The CLI specification is an
international standard for creating development and execution environments in which languages & libraries work together seamlessly. This section includes information about the CLR, the CLI, and Microsoft’s Shared Source CLI Implementation (SSCLI) codenamed 'Rotor'.
.gif)
CLR Fundamentals
The .NET Show: Inside the CLR In this episode, Jim Miller and Jim Hogg cover some of the basics of the common language runtime and what it can do for you, before diving into some very simple code and illustrating how the CLR interprets and executes this code within the context of the .NET Framework. |
Handling Language Interoperability with the Microsoft .NET Framework Damien Watkins outlines the interoperability capabilities of the Microsoft .NET Framework. |
Garbage Collection: Automatic Memory Management in the Microsoft .NET Framework, Part 1 Find out about the resources that allocate and manage garbage collection in Microsoft .NET and get a detailed description of how the garbage collection algorithm works. |
Garbage Collection: Automatic Memory Management in the Microsoft .NET Framework, Part 2 The conclusion of this series explains strong and weak object references that help to manage memory for large objects, as well as object generations and how they improve performance. |
Implement a Custom Common Language Runtime Host for Your Managed App This article covers how the CLR is started and loaded into a process, how to set the available configuration options, how a host defines application domains and how to design a custom host. Important concepts include making the right decisions about the application domain boundaries for the host, configuring them correctly, loading and executing user code, and resolving references to assemblies. Setting security policy and unloading application domains as the application shuts down are also explained. |
The CLI Specification
The Common Language Infrastructure (CLI) is a specification describing how applications written in multiple high-level languages may be executed in different system environments without the need to rewrite the applications to take into consideration the unique characteristics of those environments.
CLI Partition I - Concepts and Architecture Describes the overall architecture of the CLI, and provides the normative description of the Common Type System (CTS), the Virtual Execution System (VES), and the Common Language Specification (CLS). It also provides a non-normative description of the metadata and a comprehensive set of abbreviations, acronyms and definitions, which are included by reference into all other Partitions. |
CLI Partition II - Metadata Definition and Semantics Provides the normative description of the metadata: its physical layout (as a file format), its logical contents (as a set of tables and their relationships), and its semantics (as seen from a hypothetical assembler, ilasm). |
CLI Partition III - Common Intermediate Language (CIL) Instruction Set Describes, in detail, the Common Intermediate Language (CIL) instruction set. |
CLI Partition IV - Profiles and Libraries Provides an overview of the CLI Libraries and a specification of their factoring into Profiles and Libraries. A companion document, considered to be part of this Partition but distributed in XML format, provides details of each class, value type, and interface in the CLI Libraries. |
CLI Partition V - Annexes Contains some sample programs written in CIL Assembly Language (ILAsm), information about a particular implementation of an assembler, a machine-readable description of the CIL instruction set which may be used to derive parts of the grammar used by this assembler as well as other tools that manipulate CIL, and a set of guidelines used in the design of the libraries of Partition IV. |
Class Library XML A machine-readable specification, in XML, of the types that comprise the standard libraries. |
Class Library Detailed Specifications Documentation for the libraries specified in Standard ECMA-335, Partition IV: Profiles and Libraries. |
CLI Technical Report An aid for understanding the libraries specified in Standard ECMA-335, Partition IV: Profiles and Libraries. That Partition includes a machine-readable specification, in XML, of the types that comprise the standard libraries. |
C# Language Specification The C# language specification. |
ECMA and ISO/IEC C# and Common Language Infrastructure Standards Describes the standardization of the CLI and C# language with ECMA & ISO, and includes working drafts from the ongoing work in ECMA to standardize 2.0 (“Whidbey”) CLI features such as generics. |
Using the ECMA Standards: An Interview with Miguel de Icaza In this interview, Miguel de Icaza, the founder of GNOME and Ximian, talks about UNIX components, Bonobo, Mono, and Microsoft .NET. |
The Microsoft Shared Source CLI Implementation The Common Language Infrastructure (CLI) is the ECMA standard that describes the core of the .NET Framework. The Shared Source CLI (SSCLI) is a compressed archive of the source code to a working implementation of the ECMA CLI and the ECMA C# language specification. This implementation builds and runs on Windows XP, the FreeBSD operating system, and Mac OS X 10.2. The SSCLI will be of interest to academics and researchers wishing to teach and explore modern programming language concepts, and to .NET developers interested in how the technology works. |
The Shared Source CLI Implementation (SSCLI)
The Microsoft Shared Source CLI Implementation is an implementation of the CLI specification developed by Microsoft for research, teaching, developer education, and new CLI implementers. The links provided here will help you get up to speed on the CLI and the Microsoft SSCLI.
The Microsoft Shared Source CLI Implementation The Microsoft Shared Source CLI Implementation is a file archive containing working source code for the ECMA-334 (C#) and ECMA-335 (Common Language Infrastructure, or CLI) standards. These standards together represent a substantial subset of what is available in the Microsoft .NET Framework. |
The Microsoft Shared Source CLI Implementation Refresh The refreshed Microsoft Shared Source CLI Implementation source archive unpacks and builds on both the Microsoft Windows XP and FreeBSD operating systems and provides improvements to the Rotor experience, including better debugging, documentation and samples, build environment and tools enhancements, and bug fixes. |
Rotor: Shared Source CLI Provides Source Code for a FreeBSD Implementation of .NET This article discusses some of the things you can learn from the source code facsimile of the CLR, such as how JIT compilation works. It will also help you understand how to control execution along with debugging and loading classes. |