Overview of the MS.NET Framework Part 2

Hi,

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

  1. Console Based Applications (e.g. Compiler)
  2. Windows Application (WinForms)
  3. Windows Services
  4. ASP.NET Web Applications
  5. ASP.NET Web Services
  6. Remoting Application.
  7. 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:

  • System
  • System.IO
  • System.Collections
  • System.Threading
  • System.Reflection
  • System.Security
  • System.Net
  • System.Data
  • System.XML
  • System.Web
  • System.Web.Services
  • System.Windows.Forms
  • System.Drawing
  • System.Globalization
  • System.Resources

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 is a component divided in sub components which perform their own respective tasks. CLR as the name specifies provides a common runtime environment for different languages like VC++, C#, VB.NET, J# and JavaScript. The code written in these languages is compiled with their respective language compliers to give a common intermediate language called MSIL (Microsoft Intermediate Language) and Metadata. This files generated are called as PE (Portable Executable).

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…

MS.NET Framework Overview

 

In this particular post we will be discussing about the MS.NET Framework and some basic things which one needs to know before getting into the coding part.

1) What does platform mean?

According to Microsoft .Net is a platform built on open internet protocols & standards with tools and services that meld computing and communication in new ways.

2) What is a Framework?

It’s an environment for developing and running software applications featuring ease of development of web based services, rich standard run-time services available to components written in variety of programming languages & provides inter language & inter machine inoperability.

 

The MS.NET Framework is a new computing platform that simplifies application development in the highly distributed environment of the Internet. The MS.NET Framework is designed to fulfill the following objectives:

  • Preserve consistency between objects that are stored and executed locally, objects that are Internet-distributed but are executed locally, and objects that are stored and executed remotely on a server.
  • Avoid deployment and version conflicts. No DLL update upon deployment. Solves the DLL Hell Syndrome.
  • Guarantee safe execution of code, even if written by unknown semi-trusted third party. Avoid the slowness of scripted or interpreted languages.
  • Preserve development environment consistency between windows-based applications and web-based applications.

3) What does .NET Framework includes?

1) Application services

2) BCL (Base Class Library)

3) CLR (Common Language Runtime)

Very Clearly explained right…

In the next post we will look at the following topics:

  1. What are the applications we can develop with the MS.NET Framework?
  2. What is BCL (Base Class Library)?
  3. What is CLR (Common Language Runtime)?

Stay connected with us for our next post…. 🙂