There are 2 main components of .net
1) CLR (Common Language Runtime)
2) FCL (Framework class Libraries)
CLR
It is run-time environment provided by .net, called the CLR, which runs the code
and provides services that make the development process easier. It is the environment
that manages code execution i.e. it is runtime environment. It acts as hypothetical
(Hypothetical- supposed; not necessarily true) computer that runs .NET programs.
It is the layer between the .NET compatible language program and computer hardware
& OS. Thus the program is in touch of CLR and CLR takes care of all other things.
The program does not have any need to take care of those things.
Services provided by CLR:
1. Loading and execution of programs.
2. Verification of type-safety.
3. Compilation of IL into native executable code.
4. Providing metadata.
5. Memory management.
6. Security.
7. Cross-language interoperability.
8. Management of exceptions and errors.
9. Supports debugging and profiling.
10. Garbage collection.
FCL
FCL contains classes, which are main part
of .net. It contains classes have many functions. With these functions
we do string manipulation , security implementation, Data access,
connections, web programming and every thing we use in programmingetc.
These are base of .net and these classes have
namespaces also. These namespaces includes system.io, system and all
namespaces we use. It contains nested namespaces.