Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 7

.

Net Framework
Microsoft created the.NET Framework, also known as "dot net," which is a software
framework primarily intended to run on Microsoft Windows. The Framework Class Library
(FCL), which it claims, is a sizable class library that promotes language interoperability so
that programs created in various programming languages can be used with ease. The
Common Language Runtime (CLR), an application virtual machine that offers crucial
features like security, memory management, and exception handling, runs applications
created for the.NET Framework. .NET code is hence frequently referred to as "managed
code." The.NET Framework is made up of the functionalities of FCL and CLR together.

Microsoft created the.NET Framework, also known as "dot net," which is a software
framework primarily intended to run on Microsoft Windows. The Framework Class Library
(FCL), which it claims, is a sizable class library that promotes language interoperability so
that programs created in various programming languages can be used with ease. The
Common Language Runtime (CLR), an application virtual machine that offers crucial
features like security, memory management, and exception handling, runs applications
created for the.NET Framework. .NET code is hence frequently referred to as "managed
code." The.NET Framework is made up of the functionalities of FCL and CLR together.
Overview of the Common Language Infrastructure (CLI)

Common Language Infrastructure


The Common Language Infrastructure (CLI) offers a framework for application development
and execution that is independent of language. It makes sure that the fundamental capabilities
of the.NET Framework may be used with any of the many languages that the framework
supports.

Common Language Runtime


The Common Language Runtime (CLR) serves as the execution engine for the.NET
Framework. Memory management, type safety, exception handling, garbage collection,
security, and thread control are just a few of the crucial services it provides. The CLR is the
platform used by every.NET Framework application.

Programs created for the.NET Framework are compiled into Common Intermediate
Language (CIL) code rather than straight machine code. The CIL code is transformed into
machine code during execution via a just-in-time compiler (JIT) that is particular to the
architecture.

1. Common Type System (CTS):


CTS defines the data types and programming constructs supported by the CLR. It ensures a
consistent type system across different .NET languages, enabling seamless integration and
interaction between components written in different languages.

2. Class Loader:
The Class Loader is responsible for loading .NET assemblies into the CLR. It loads the
required assemblies, resolves dependencies, and prepares them for execution. Assemblies
contain compiled code, metadata, and resources needed for a .NET application.

3. Just-In-Time (JIT) Compiler:


The JIT compiler converts Intermediate Language (IL) code, generated during the
compilation of .NET applications, into native machine code at runtime. This compilation
occurs just before the code is executed, optimizing it for the specific hardware architecture on
which the application is running.

4. Garbage Collector (GC):

The Garbage Collector manages memory in the CLR by automatically reclaiming memory
occupied by objects that are no longer in use. It prevents memory leaks, improves memory
efficiency, and simplifies memory management for developers.
5. Execution Engine:

The Execution Engine includes the JIT compiler and other components responsible for
executing the compiled code. It manages the flow of control during program execution,
coordinates memory operations, and interacts with the operating system.

6. Security Engine:
The Security Engine enforces security policies to ensure safe execution of .NET applications.
It performs code access security checks, controlling the permissions and privileges granted to
code based on its origin and trust level.

7. Exception Handling:
The Exception Handling component manages exceptions and errors that may occur during the
execution of .NET code. It provides a structured mechanism for handling and propagating
exceptions, enhancing the robustness of applications.

8. Thread Support:
The CLR provides support for multithreading, allowing .NET applications to execute
concurrently with multiple threads. It manages thread synchronization, coordination, and
execution, ensuring safe parallel execution of code.

9. Metadata:
Metadata contains information about types, methods, and other elements in a .NET assembly.
It is used by the CLR for type checking, reflection, and runtime manipulation of objects.
Metadata provides a detailed description of the structure and characteristics of assemblies.

Common Intermediate Language (CIL):


CIL, also known as IL (Intermediate Language), is an intermediate code generated during the
compilation of .NET applications. It is platform-agnostic and serves as an intermediary
between source code and native machine code. The CLR executes CIL, allowing .NET
applications to be portable across different platforms.

Assembly
CLI assemblies house the CIL code that has been compiled. These assemblies adhere to the
Portable Executable (PE) file format, which is frequently used on the Windows platform for
executable DLL files and dynamic-link libraries (DLL). Each assembly consists of one or
more files, one of which contains a manifest with the metadata for the assembly. An
assembly is uniquely identified by its complete name, which comprises its simple text name,
version number, culture, and public key token. If two assemblies have the same full name,
they are regarded as comparable.

Framework Class Library


The Framework Class Library (FCL) of the.NET Framework contains the CLI's core
Standard Libraries. The FCL offers a broad variety of built-in APIs that are mostly grouped
under the System.* or Microsoft.* namespaces and are organized in namespaces. All CLI-
compliant programming languages can use these class libraries, which provide a variety of
features like file I/O, graphics rendering, database interface, and XML document
manipulation.

Base Class Library (BCL):


The Base Class Library forms the core of the FCL and consists of essential classes and types
that provide fundamental functionality. It includes classes for data types, collections,
input/output, networking, threading, and more. The BCL serves as the foundation for other
specialized libraries within the FCL.

ASP.NET Libraries:
ASP.NET libraries are specifically designed for building web applications using the
ASP.NET framework. They include classes for web controls, state management,
authentication, and other web-related functionalities. These libraries simplify the
development of dynamic and interactive web applications.

Windows Forms:
Windows Forms is a graphical user interface (GUI) library that facilitates the development of
desktop applications with a rich and interactive user interface. It provides classes for creating
windows, controls, dialogs, and handling user input. Windows Forms applications follow the
event-driven programming model.

ADO.NET (Active Data Objects):


ADO.NET is a set of classes for data access and manipulation. It enables developers to
connect to databases, retrieve and update data, and work with data in a disconnected manner.
ADO.NET includes classes like DataSet, DataAdapter, and Connection for managing data-
related tasks.

ASP.NET Core Libraries:


ASP.NET Core libraries are an evolution of ASP.NET libraries, designed to work with the
cross-platform ASP.NET Core framework. They include classes for building modern web
applications, handling HTTP requests, managing routing, and supporting dependency
injection.
Windows Presentation Foundation (WPF):
WPF is a framework for building rich, graphical user interfaces for desktop applications. It
introduces a declarative programming model, allowing developers to define the user interface
using XAML (eXtensible Application Markup Language). WPF includes classes for creating
visually appealing and interactive applications.

Windows Communication Foundation (WCF):


WCF provides a set of classes for building and interacting with distributed and service-
oriented applications. It supports the development of web services, allowing applications to
communicate across different platforms and technologies.

Entity Framework:
Entity Framework is an Object-Relational Mapping (ORM) framework that simplifies
database interaction by representing database entities as objects in the application. It includes
classes for defining data models, querying databases, and performing CRUD (Create, Read,
Update, Delete) operations.

Windows Workflow Foundation (WF):


WF is a framework for building workflow-enabled applications. It allows developers to
define, execute, and manage workflows in applications. WF includes classes for creating and
managing workflows, activities, and workflow services.

LINQ (Language-Integrated Query):


LINQ is a set of classes and extensions that integrate query capabilities directly into the C#
and VB.NET programming languages. It provides a standardized way to query data from
different sources, such as databases, collections, and XML.

Benefits of .Net Technology


Interoperability
Language independence
Type safety
Portability
Security
Memory management
Performance
1. Interoperability:
Interoperability in .NET means that different software systems, regardless of their
differences, can work together smoothly. This is like having different types of electronic
devices, such as phones, computers, and tablets, all able to share and use information without
any problems. .NET ensures that these systems can communicate effectively, enabling
seamless integration and interaction between them.

2. Language Independence:
Language independence in .NET allows developers to use various programming languages
within the .NET framework. This is similar to having a team where each member speaks a
different language, yet they can still understand each other and collaborate effectively
towards a common goal. Whether it's C#, Visual Basic, or F#, .NET provides a platform
where developers can leverage their preferred programming language without restrictions,
fostering flexibility and productivity in software development.

3. Type Safety:
Type safety in .NET refers to the framework's ability to prevent errors related to the type of
data being used in a program. It ensures that data is used in a manner consistent with its
intended type, like to ensuring that only the correct shapes fit into their corresponding slots in
a puzzle. This helps developers catch potential errors early in the development process,
leading to more reliable and stable software applications.

4. Portability:
Portability in .NET means that software developed using the framework can run on different
devices and platforms. This is like to a favorite game being playable not only on a computer
but also on a smartphone or tablet, regardless of the underlying operating system. .NET's
portability enables developers to create applications that can reach a wider audience and
adapt to various environments, enhancing accessibility and usability.

5. Security:
Security in .NET ensures that software applications built using the framework are protected
from potential threats and vulnerabilities. This is like to having a security guard at the
entrance of a building, verifying the identity of individuals before allowing them
access. .NET implements various security features and mechanisms, such as code access
security and encryption, to safeguard sensitive data and prevent unauthorized access, thereby
instilling confidence in the integrity and confidentiality of applications.
6. Memory Management:
Memory management in .NET involves efficiently allocating and deallocating computer
memory to optimize performance and avoid memory-related issues such as leaks or crashes.
This is similar to organizing toys in a room to ensure that there is enough space and that
everything remains orderly and accessible. .NET's memory management features, such as
automatic garbage collection, help developers focus on writing code without worrying about
memory leaks or manual memory management, resulting in more stable and scalable
applications.

7. Performance:
Performance in .NET pertains to the framework's ability to ensure that software applications
run smoothly and efficiently, delivering responsive and high-performing user experiences.
This is like to a skilled athlete running a race without stumbling or slowing down,
maintaining a consistent pace from start to finish. .NET achieves performance optimization
through various means, including just-in-time compilation, native optimizations, and efficient
memory usage, resulting in faster execution times and improved responsiveness for end-
users.

You might also like