|There are many articles are available in the web on this
topic; I just want to add one more article over the web by explaining Components
of .Net Framework.
Components of .Net Framework
Net Framework is a platform that provides tools and
technologies to develop Windows, Web and Enterprise applications. It mainly contains
1. Common Language Runtime (CLR)
.Net Framework Class Library. 1. Common Language Runtime (CLR)
.Net Framework provides
runtime environment called Common
Language Runtime (CLR).It provides an environment to run all the .Net
Programs. The code which runs under the CLR is called as Managed Code. Programmers need not to worry on managing the memory if
the programs are running under the CLR as it provides memory management and
Programmatically, when our program needs memory, CLR allocates the memory
for scope and de-allocates the memory if the scope is completed.
Compilers (e.g. C#, VB.Net, J#) will convert the Code/Program to Microsoft Intermediate Language (MSIL) intern
this will be converted to Native Code
by CLR. See the below Fig.
are currently over 15 language compilers being built by Microsoft and other
companies also producing the code that will execute under CLR.
Framework Class Library (FCL)
This is also called as Base Class Library and it is common for all types
of applications i.e. the way you access the Library Classes and Methods in
VB.NET will be the same in C#, and it is common for all other languages in
The following are different types of applications that can make use of
.net class library.
XML Web Services.
Windows Services.In short, developers just need to import the BCL in their language code
and use its predefined methods and properties to implement common and complex
functions like reading and writing to file, graphic rendering, database
interaction, and XML document manipulation.
Below are the few more concepts that we need to know and understand as
part of this .Net framework.
Type System (CTS)
It describes set of data types that can be used in different .Net
languages in common. (i.e), CTS ensures that objects written in different .Net
languages can interact with each other.
For Communicating between programs written in any .NET complaint
language, the types have to be compatible on the basic level.
The common type system supports two general categories of types:
Value types directly contain their data, and instances of value types are
either allocated on the stack or allocated inline in a structure. Value types
can be built-in (implemented by the runtime), user-defined, or enumerations.
Reference types store a reference to the value's memory address, and are
allocated on the heap. Reference types can be self-describing types, pointer
types, or interface types. The type of a reference type can be determined from
values of self-describing types. Self-describing types are further split into
arrays and class types. The class types are user-defined classes, boxed value
types, and delegates.
4. Common Language Specification (CLS)
It is a sub set of CTS and it specifies a set of rules that needs to be
adhered or satisfied by all language compilers targeting CLR. It helps in cross
language inheritance and cross language debugging.
Common language specification Rules:
It describes the minimal and complete set of features to
produce code that can be hosted by CLR. It ensures that products of
compilers will work properly in .NET environment.
1. Representation of text strings
2. Internal representation of enumerations
3. Definition of static members and this is a subset of the CTS which all .NET languages are expected to support.
4. Microsoft has defined CLS which are nothing but guidelines that language to follow so that it can communicate with other .NET languages in a seamless manner.
Below mentioned the .Net Architecture stack for easy understanding.