Search notes:

.NET: Common Language Runtime (CLR)

The Common Language Runtime is the heart of the .NET Framework.
The CLR is a virtual machine that provides execution environment for all .NET Framework code. The services of the CLR include
Programs that run in the CLR is managed code (while those that run independently from it are referred to as unmanaged code).
Managed code, when started, receives a set of permissions from the host.
Each computer with a CLR also has a Global Assembly Cache.

CLR versions

The CLR is not necessarily updated when the .NET Framework advances to another version.
In fact, the CLR is somewhat independent from the Framework version that uses the CLR.
For example, a CLR whose version is less than 4.0.30319.42000 supports NET Framework versions 4 through 4.5.2. while CLRS whose version is greater than 4.0.30319.42000 supports .NET Framework 4.6 and higher.
The following table shows some versions and CLR filenames:
.NET Framework version CLR version CLR filename
1.1. 1.1 mscorwrks.dll
2.0. 2.0 mscorwrks.dll
3.0. 2.0 mscorwrks.dll
3.5. 2.0 mscorwrks.dll
4.0. 4.0 clr.dll
4.5. 4.0 clr.dll
In PowerShell, the version of the CLR can be determined by quering the Version property of System.Environment:
PS C:\> [Environment]::Version
Major  Minor  Build  Revision
-----  -----  -----  --------
5      0      0      -1

Intern pool

The intern pool contains a single reference to each unique literal string declared or created in a program.
See also the method Intern of the System.String object.

See also

CLR Integration in SQL Server.
The System.Runtime.InteropServices.RuntimeEnvironment class provides information about Common Language Runtime Environment.
An unmanaged host calls (the deprecated) CorBindToRuntimeEx() (in mscoree.dll) to load the CLR into a process.

Index