What is .Net FrameWork?

.Net Framework is a software development framework created by Microsoft to develop and run windows applications. .Net framework is an element of the .Net programming language. It is a collection of technologies to build apps for different platforms like Windows, Linux, ios, Android, etc.

So, developers can select the technology based on their requirements. In this article, we will discuss the basics and essential elements of the .Net Framework.

What is .Net Framework - Table of Contents

Introduction to .Net Framework

.Net framework is an application development framework designed by Microsoft for developing and deploying windows applications. .Net framework contains the programming languages, tools, and libraries for building web and desktop applications. Through the .net framework, we can also build web services, games, and websites. It supports programming languages like C#, Visual Basic, COBOL, Perl, Python, etc.

If you want to enrich your career and become a professional in .Net Programming Language, then visit Mindmajix - a global online training platform: ".Net Training" This course will help you to achieve excellence in this domain.

.Net Framework Architecture

.Net framework architecture acts as a programming model to the .net platform, which offers an implementation environment and incorporation with different programming languages for easy development and deployment of different desktop and windows applications. It contains recyclable components and class libraries.

.Net Framework Architecture

Components of .Net Architecture

The following are the .Net Architecture components:

1. Common Language Runtime(CLR) Module

Common Language Runtime is also known as CLI. On CLI, we will execute the .Net programs. CLI has the following features:

  • Garbage Collection: It is the mechanism of deleting unnecessary resources while they are not required. Garbage collection examples are:
  • A file handle that is not required. If the application has completed all the tasks on a file, then the filehandle is not required.
  • A Database connection is not required. If the application has completed all the tasks on the database, then the database connection is not required.
  • Exception Handling: Exceptions are the errors that arise when we execute an application. Exceptions examples are:
  • If we attempt to open a file in the local machine, though the file is not present.
  • If the application attempts to retrieve the records from the database, though the database connection is authentic.
Using different programming languages:
  • Programming Language: The programming language is the first level, and the most general programming languages are C#, VB.Net.
  • Compiler: For every programming language, we will have a separate compiler. So, for the VB.Net programming language, we will have a VB.Net compiler. For C#, we will have another compiler.
  • Common Language Interpreter: It is the last layer in the .Net framework that we use for running a .net program written in any programming language. Therefore the following compiler will dispatch the program to the CLI layer for running the .Net application.

MindMajix Youtube Channel

2. Class Library Module

.Net framework contains a group of class libraries. A class library is a group of functions and methods that are essential. For instance, if we have a class library with the methods for handling all the file tasks. So, there is a method that we can use for reading the text from the file. 

Likewise, there is a method for writing the text to a file. Most of the methods are either namespaces or systems. The namespace is a rational division of the methods.

[ Check out .Net Libraries ]

3. Languages Module

The kinds of applications that we create in the .net framework are categorized  widely into the below categories:

  • WinForms: We use it to develop form-based applications that would execute on the user machine. Notepad is an example of a client-based application.
  • ASP.Net: We use it to develop the web-based applications that we run on the browsers like Firefox, internet explorer, etc.
  • We can process the web application on the server which has Internet information services(IIS).
  • IIS is a Microsoft element that we use for executing ASP.Net applications.
  • After executing the ASP.Net applications, we will send the result to the client machines, and we will display the result in the browser.
  • ADO.Net: We use ADO.Net for developing applications for interacting with the databases like SQL Server, Oracle, etc.

4. Other Modules

  • WPF(Windows Presentation Foundation)

It is a graphical subsystem by Microsoft to render the user interfaces in windows-based applications. WPF is formerly known as “Avalon,” and it was released as a component of the .Net framework 3.0.

  • WF(Windows Workflow Foundation)

It is a Microsoft technology that offers API, an in-process workflow engine, and a designer for implementing the long-running process-like workflow inside the .NET applications. 

  • Windows Communication Foundation(WCF)

WCF is a framework for evolving service-oriented applications. Through WCF, we can send the data in the form of asynchronous messages from one service endpoint to another service endpoint.

  • Language-Integrated Query(LINQ)

It is a query language created in the .Net 3.5 frameworks. We use it for making the query for the data sources with the C# or VB programming language.

  • Parallel LINQ

PLINQ is the parallel implementation of LINQ to the objects. It integrates the readability and simplicity of the LINQ and offers the strength of parallel programming. PLINQ can offer and enhance the speed for executing the LINQ query through computer capabilities.

Design Principles of .Net Framework

Following are the designing principles of the .Net framework:

  1. Portability: Applications developed on the .Net framework can work on any windows environment. Recently, Microsoft is also intending to make the Microsoft products work on the platforms like Linux, ios, etc.
  2. Interoperability: .Net framework offers backward support. For example, if we have to execute the application on the machine with a .Net framework higher version. But the application could continue to work. 
  3. Memory Management: Common language run-time does the work of memory management. .Net framework can access the resources that are not useful to the running program. It will release those resources consequently. It will do this through the “Garbage Collector,” which runs as a component of the .Net framework.

[ Check out C# Interview Questions ]

.Net CLR

It is a run-time environment that handles and runs the code written in any .Net programming language.

CLR Functions

The following are the .Net CLR Functions:

  • It translates the program into the native code.
  • It handles the exceptions.
  • It is language-independent and improves performance.
  • It offers type-safety.
  • It is platform-dependent and provides garbage collection.

Structure of .Net CLR

Structure of .Net CLR

Element Structure of the Common Language Runtime:

  • Base Class Library Support: It is a library that offers class support to the .NET application.
  • COM Marshler: It offers interaction among the COM objects and applications.
  • Thread Support: It handles the concurrent execution of the multi-threaded application.
  • Code Manager: It handles code at run-time.
  • Garbage Collector: It frees the unused memory and assigns it to the new application.
Learn Top .Net Interview Questions and Answers that help you grab high-paying jobs

.Net Framework Class Library (FCL)

It is a collection of classes, interfaces, value types, and namespaces that we use for the .Net applications.

Framework Class Library Functions

.Net Framework Class library supports the following functions:

  • User-defined and Base data types.
  • It supports exception handling and access to data.
  • It supports stream and input/output operations.
  • It supports interaction within the base system.
  • It supports web service creation.

Framework Class Library Namespaces

Following are the important namespaces of the .Net framework class library:

1. System

This namespace includes all the general data types, methods, arrays for the data conversion.

2. System.Diagnostics

It traces and debugges the application execution.

3. System.Data, System.Data.OleDb, System.Data.Common, System.Data. SqlTypes

We use these namespaces for accessing the databases, performing the commands on the database, and fetching the database.

4. System.Net.Sockets, System.Net

We use these namespaces to communicate over the internet while developing peer-to-peer applications.

5. System.Windows.Forms.Design, System.Windows.Forms

These namespaces are useful for creating Windows-based applications through the Windows user interface elements. 

Conclusion

We use the .Net framework for building windows, web, and mobile applications. It offers a wide range of support and functionalities. .Net framework architecture offers an environment for easy development and deployment of different windows and mobile applications. .Net Framework CLR(Common Language Runtime) is a run-time environment for any .Net programming language code. .Net Framework Class Library offers classes, interfaces, namespaces that we use for .Net applications. I hope this article provides you with the required information about the .Net framework and its components.

If you have any queries, let us know by commenting in the below section.

Job Support Program

Online Work Support for your on-job roles.

jobservice

Our work-support plans provide precise options as per your project tasks. Whether you are a newbie or an experienced professional seeking assistance in completing project tasks, we are here with the following plans to meet your custom needs:

  • Pay Per Hour
  • Pay Per Week
  • Monthly
Learn MoreGet Job Support
Course Schedule
NameDates
.NET TrainingNov 19 to Dec 04View Details
.NET TrainingNov 23 to Dec 08View Details
.NET TrainingNov 26 to Dec 11View Details
.NET TrainingNov 30 to Dec 15View Details
Last updated: 03 Apr 2023
About Author

Viswanath is a passionate content writer of Mindmajix. He has expertise in Trending Domains like Data Science, Artificial Intelligence, Machine Learning, Blockchain, etc. His articles help the learners to get insights about the Domain. You can reach him on Linkedin

read less