
Refer to the above diagram for the following sections.
The class library provides a comprehensive set of facilites 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..