We are back with the continuation of the 1st post (Overview of the MS.NET Framework).
As discussed in the earlier post
The .NET Framework includes:
1) Application services
2) BCL (Base Class Library)
3) CLR (Common Language Runtime)
1) TYPES OF MS.NET APPLICATIONS
- Console Based Applications (e.g. Compiler)
- Windows Application (WinForms)
- Windows Services
- ASP.NET Web Applications
- ASP.NET Web Services
- Remoting Application.
- Mobile / Smart Device Applications
We can develop all the applications mentioned above using the MS.NET Framework very easily.
2) MS.NET Base Class Libraries (also called as Framework Class Libraries (FCL)
The .NET base class library is a collection of object-oriented types and interfaces that provide object models and services for many of the complex programming tasks you will face. Most of the types presented by the .NET base class library are fully extensible, allowing you to build types that incorporate your own functionality into your managed code. These class libraries are distributed with MS.NET Framework and works with any language under the common language run-time environment. Therefore if you are familiar with one .NET language then you can easily migrate to other .NET Languages.
Note: All the base class libraries are grouped under the root namespace “System“.
a) What is a Namespace?
A namespace is a logical collection of classes and other types with unique name. The structure of the namespace is like a tree where all the related classes are like leaves.
The most important namespaces in the .NET class library are:
3) What is CLR (Common Language Runtime)?
CLR is the foundation of .NET Framework. The common Language Runtime manages code at execution time. It does Memory management, thread management, and runs the code on different platforms (Client or Server). It enforces strict variable type definitions, security, and robustness.
CLR provides the following benefits for the application developers:
- Vastly simplified development.
- Seamless integration of the code written in various languages.
- Evidence-based security with code identity.
- Assembly-based deployment that eliminates DLL Hell.
- Side-by-side versioning of reusable components.
- Code reuse through implementation inheritance.
- Automatic object lifetime management.
- Self describing objects.
a) What is MSIL?
MSIL: MSIL is an intermediate instruction set which is processor and hardware independent. The source code when compiled gives MSIL which is an input to the operating system and with the help of CLR is converted into native code which is processor specific.
- It stands for Microsoft intermediate language.
- MSIL instructions are pure platform independent.
- MSIL is an intermediate instruction set which is processor and hardware independent.
The source code when compiled gives MSIL which is an input to the operating system and with the help of CLR is converted into native code which is processor specific.
MSIL Assembler(IIasm): The MSIL Assembler generates a portable executable (PE) file from Microsoft intermediate language (MSIL).
MSIL DisAssembler(IIdasm): You can use the MSIL Disassembler (Ildasm.exe) to view Microsoft intermediate language (MSIL) information in a file. If the file being examined is an assembly, this information can include the assembly’s attributes, as well as references to other modules and assemblies. This information can be helpful in determining whether a file is an assembly or part of an assembly, and whether the file has references to other modules or assemblies.
Microsoft supply a tool called Ildasm, which can be used to view the metadata and IL for an assembly. Source code can be reverse-engineered from IL, it is often relatively straightforward to regenerate high-level source (e.g. C#) from IL.
b) What is Portable Executable (PE)?
Portable Executable (PE) is a Microsoft Win32 compatible format file for .Net applications which contains the MSIL code and Metadata in binary form. It has the extension .exe or .dll. PE has COFF (Common Object File Format) specification
I hope it is very clear for you now, about the MS.NET Framework. The information provided in this post is very useful so please do share this post with your friends…