What is .NET Framework?
.NET Framework is an environment/platform building, deploying and running web services and other applications. The .NET Framework form the infrastructure for the overall structure of .NET platform.
The Common Language Run Time(CLR) and class libraries(including windows form,ADO.NET and ASP.NET) combined together to provide services and solutions, that can be easily implemented within the .NET framework. .NET Framework consists of three parts, CLR, Framework Classes and ASP.NET.
.NET Framework is a layer between operating system and programming language. In .NET there are different types of classes and libraries which can be shared.
The .NET framework represents an environment with multi-language support. .NET supports multi-language due to the following components,
The below picture shows the structure of .NET framework.
- CLS (Common Language Specification)
- CLR (Common Language Runtime)
- CTS (Common Type Specification)
Cross language Specification(CLS):-
It defines a common standard to which a language must support if they want their applications and components widely usable by other .NET compatable languages.
It allows the developer to inherit classes from other languages.
It provides a set of rules by Microsoft which is used by the compiler to make the object code .NET compatible and these features makes it most powerful.
Common Language Runtime(CLR):-
A runtime is an environment in
which the program is executed,e.g, to run a VB program we need a VB
runtime environment(msvbm.dll). Similarly to run VC++ or C# applications we need there respective runtimes.
different languages have different runtime it is a difficult task for
the programmer. To avoid this problem .NET introduces a common language
runtime for all the .NET supporting languages.
Common Language Runtime(CLR) provides a runtime environment that manages the execution of .NET framework applications.
The code that targets the CLR is called as managed code. The CLR is an execution engine for the .NET framework applications and provides a unified environment.
The CLR is responsible for managing memory applications, starting up, killing threats, and enforces security policies.
When we write the code in .NET and compile it, it is translated into a set of machine independent instructions called as IL(Intermediate Language).
But this IL is not understood by the machine. The linker takes the MSIL(Microsoft Intermediate Language) and converts it into exe or dll format which is again taken by another compiler called as JiT(Just in Time) and convert it into the native code. After that it is executed on the CLR.
Components Of CLR:
Base Class Library Support:- It provides different classes which is compatible for all .NET compatible language.
Thread Support:- It provides classes and interfaces for multiprogramming.
COM Marshaller:- Marshaling to and from COM(Component Object Model).
Type Checker:- It avoids uninitialized variables and other typecasting.
Exception Engine:- It helps in error reporting.
Security Engine:- It provides security to the program and user.
Debug Engine:- It helps in debugging and implement towards execution.
MSIL to Native:- IL is converted to CPU dependent with the help of JiT.
Code Manager:- It manages the code.
Garbage Collector:- It is a program which provides lifetime garbage collection for the object.
Class Loader:- It loads the implemented class for its execution.
Cross Language Interoperability:-
It is defined as the sharing of components of one language with other languages.
.NET supports cross language interoperability, but it does not mean that every program written in one language can be used by other language.
For cross language interoperability a language must enable cross language specification.
A class written in C# can be inherited by a program written in VB.NET. It is called as Cross Language Inheritance.
If an exception raised in C# it can be handled in VB.NET. It is called as Cross Language Exception Handling.
Cross Language Interoperability is only possible due to CLS(Common Language Specification) and CLR(Common Language Runtime).
CTS(Common Type Specification):-
It is a component of .NET framework. CTS represents the datatypes of different languages in a specific format specification.
Example:- A datatype in VB.NET can be represented as "integer", but in C# it is "int". Int in CTS is represented as "int32".
Each of these datatypes map to a common language runtime type. The reserved words used to name the different datatypes are simply aliases for the predefined structure type in System namespace.
The 'int' datatype is an alias of the struct type 'int32' in the system namespace. The followings are some datatypes and their corresponding CTS specifications,
This ends our discussion. I hope this article will help you to understand .NET framework easily.
No response found. Be the first to respond this post
You must Sign In To post reply
|Find More Articles on C#, ASP.Net, Vb.Net, SQL Server and more Here|