Refer to the above diagram for the following sections.
The class library provides a comprehensive set of facilities for application development. Primarily written in C#, it can be used by any language, thanks to the Common Language Specification.
The class library is structured into
Namespaces, and deployed
in shared libraries known as
Assemblies.
When we speak of the .Net framework , we are primarily referring to
this class library.
Namespaces are a mechanism for logically grouping similar
classes into a hierarchical structure. This prevents naming
conflicts. The structure is implemented using dot-separated words.
The top level namespace for most of the .Net framework is
System. Under the System
namespace you'll find the following:
More commonly known as the
Common Language Runtime,
this is implemented by the Mono executable. This runtime is used to
execute the compiled .NET application. The common language
infrastructure is defined by ECMA standard
ECMA-335.
To run your application, you must invoke the runtime with the relevant parameters.
This is specified in ECMA-335,chapter 6. It defines the interface to the CLI; e.g. conventions such as the underlying types for Enum.
The Mono compiler generates an image that conforms to the CLS. This is the Common Intermediate Language. The mono runtime takes this image and runs it.
The ECMA standard formally defines a library that conforms to the CLS as a framework.
MSDN documentation for .Net SDK, framework is here.
O'Reilly
C# in a Nutshell, Definitely recommended..