The Common Language Specification
This is a subset of the Common Type System (CTS) and defines a set of conventions that are targeted at language interoperability of all the languages that run within the .NET environment.
The Common Type System
The Common Type System (CTS) is a standard that defines the necessary rules for type interoperability for the languages targeting the .NET environment. The common type system supports the following types.
- Value Types
- Reference Types
.NET Framework Class Library
The .NET Framework Class Library (FCL) is a set of managed classes that are responsible for providing access to the system services in the managed environment of Microsoft.NET.
The Common Language Runtime
The CLR is a runtime execution engine of .NET that provides an environment to execute programs that are targeted at the .NET platform. It provides memory allocation, security, code verification, type verification, exception handling and garbage collection in the managed environment.
Common Language Infrastructure
The Common Language Infrastructure or the CLI provides support for language interoperability in the .NET managed environment. It is comprised of the following features.
- A File Format (PE)
- Base Class Library
An assembly is a group of resources and types, along with the metadata about those resources and types, deployed as a single unit.
Just In Time Compiler
The Just In Time Compiler or the JIT is responsible for compiling units of code and caching them at runtime as and when they are needed. Since the compilation occurs at runtime, it is known as a Just In Time Compilation.