The Role of the Common Language Runtime (CLR)

The CLR provides two key services:
  • It is a library of utility classes that can be accessed from any .NET language. This service is sometimes
    called the Framework Class Library (FCL).
  • It is a runtime execution engine that “manages” .NET programs while they are running.

Mscorlib.dll contains the core types of the FCL.  This and other DLLs provide object-oriented access to the OS
API and other core functionality.  Types exist for file IO, threading, data access, security, XML, etc. The FCL
uses a layer called P/Invoke, that abstracts the underlying OS details from the .NET framework.

















Mscoree.dll contains the runtime’s execution engine that hosts all .NET applications.  It provides type
verification, code access security and resource management (garbage collection).

Code that runs in mscoree.dll is called managed code. In contrast, VB6/COM/native C++ applications are all
unmanaged code.  Here is the full CLR picture:




















As far as the CLR is concerned, your assembly is no different than mscorlib.dll (just more CIL code to process).
Common Language Runtime (CLR)
C# Tutorial
Table of Contents
C# Tutorial | C#.NET Tutorial | CLR Tutorial

Copyright (c) 2008.  Intertech, Inc. All Rights Reserved.  This information is to be used
exclusively as an online learning aid.  Any attempts to copy, reproduce, or use for training is
strictly prohibited.
Courseware
Training Resources
Tutorials
Services