SlideShare a Scribd company logo
Binu Bhasuran
Microsoft MVP Visual C#
Facebook http://facebook.com/codeno47
Blog http://proxdev.com/
What is a framework?
How it is important to software development?
The .NET Framework (pronounced dot net) is a
software framework that runs primarily on
Microsoft Windows.
It includes a large library and provides language
interoperability (each language can use code
written in other languages) across several
programming languages.
CLR( Common Language Runtime)
Base class library ( BCL)
Programs written for the .NET Framework
execute in a software environment known as
the Common Language Runtime (CLR), an
application virtual machine that provides
important services such as security, memory
management, and exception handling.
The class library and the CLR together constitute
the .NET Framework.
The .NET Framework's Base Class Library provides user
interface, data access, database connectivity, cryptography,
web application development, numeric algorithms, and
network communications.
Programmers produce software by combining their own
source code with the .NET Framework and other libraries.
The .NET Framework is intended to be used by most new
applications created for the Windows platform. Microsoft
also produces a popular integrated development
environment largely for .NET software called Visual Studio
Microsoft started the development on the .NET
Framework in the late 1990s originally under
the name of Next Generation Windows Services
(NGWS). By late 2000 the first beta versions of
.NET 1.0 were released.
Version history
.Net platform an understanding
Interoperability
Common Language Runtime Engine
Language Independence
Framework Class Library
Simplified Deployment
Security
Portability
Because computer systems commonly require
interaction between newer and older applications,
the .NET Framework provides means to access
functionality implemented in programs that
execute outside the .NET environment.
Access to COM components is provided in the
System.Runtime.InteropServices and
System.EnterpriseServices namespaces of the
framework; access to other functionality is
provided using the P/Invoke feature.
The Common Language Runtime (CLR) is the
execution engine of the .NET Framework. All
.NET programs execute under the supervision of
the CLR, guaranteeing certain properties and
behaviors in the areas of memory management,
security, and exception handling.
The .NET Framework introduces a Common Type
System, or CTS. The CTS specification defines all
possible datatypes and programming constructs
supported by the CLR and how they may or may
not interact with each other conforming to the
Common Language Infrastructure (CLI)
specification.
Because of this feature, the .NET Framework
supports the exchange of types and object
instances between libraries and applications
written using any conforming .NET language.
The Base Class Library (BCL), part of the
Framework Class Library (FCL), is a library of
functionality available to all languages using the
.NET Framework.
The BCL provides classes that encapsulate a
number of common functions, including file
reading and writing, graphic rendering,
database interaction, XML document
manipulation, and so on.
The .NET Framework includes design features
and tools which help manage the installation of
computer software to ensure it does not
interfere with previously installed software, and
it conforms to security requirements.
The design is meant to address some of the
vulnerabilities, such as buffer overflows, which
have been exploited by malicious software.
Additionally, .NET provides a common security
model for all applications.
While Microsoft has never implemented the full
framework on any system except Microsoft
Windows, the framework is engineered to be
platform agnostic, and cross-platform
implementations are available for other
operating systems.
Microsoft submitted the specifications for the
Common Language Infrastructure (which
includes the core class libraries, Common Type
System, and the Common Intermediate
Language), the C# language, and the C++/CLI
language to both ECMA and the ISO, making
them available as open standards. This makes it
possible for third parties to create compatible
implementations of the framework and its
languages on other platforms.
.Net platform an understanding
The purpose of the Common Language Infrastructure (CLI) is
to provide a language-neutral platform for application
development and execution, including functions for Exception
handling, Garbage Collection, security, and interoperability.
By implementing the core aspects of the .NET Framework
within the scope of the CLI, this functionality will not be tied
to a single language but will be available across the many
languages supported by the framework. Microsoft's
implementation of the CLI is called the Common Language
Runtime, or CLR..Net was developed in 1990.
The CIL code is housed in .NET assemblies. As
mandated by specification, assemblies are
stored in the Portable Executable (PE) format,
common on the Windows platform for all DLL
and EXE files. The assembly consists of one or
more files, one of which must contain the
manifest, which has the metadata for the
assembly.
The complete name of an assembly (not to be
confused with the filename on disk) contains its
simple text name, version number, culture, and
public key token.
Assemblies are considered equivalent if they
share the same complete name, excluding the
revision of the version number. A private key
can also be used by the creator of the assembly
for strong naming.
The public key token identifies which public key
an assembly is signed with. Only the creator of
the keypair (typically the .NET developer signing
the assembly) can sign assemblies that have the
same strong name as a previous version
assembly, since he is in possession of the
private key. Strong naming is required to add
assemblies to the Global Assembly Cache.
.NET has its own security mechanism with two
general features: Code Access Security (CAS),
and validation and verification. Code Access
Security is based on evidence that is associated
with a specific assembly.
Typically the evidence is the source of the assembly
(whether it is installed on the local machine or has been
downloaded from the intranet or Internet). Code Access
Security uses evidence to determine the permissions
granted to the code.
Other code can demand that calling code is granted a
specified permission. The demand causes the CLR to
perform a call stack walk: every assembly of each
method in the call stack is checked for the required
permission; if any assembly is not granted the permission
a security exception is thrown.
Namespaces in the BCL
• SystemSystem.
• CodeDomSystem.
• CollectionsSystem.
• DiagnosticsSystem.
• GlobalizationSystem.
• IOSystem.
• ResourcesSystem.
• TextSystem.
• Text.RegularExpressions
The .NET Framework CLR frees the developer
from the burden of managing memory
(allocating and freeing up when done); it
handles memory management itself by
detecting when memory can be safely freed.
Memory is allocated to instantiations of .NET
types (objects) from the managed heap, a pool
of memory managed by the CLR.
As long as there exists a reference to an object,
which might be either a direct reference to an
object or via a graph of objects, the object is
considered to be in use.
When there is no reference to an object, and it
cannot be reached or used, it becomes garbage,
eligible for collection. NET Framework includes
a garbage collector which runs periodically, on a
separate thread from the application's thread, that
enumerates all the unusable objects and reclaims
the memory allocated to them.
The .NET Garbage Collector (GC) is a non-
deterministic, compacting, mark-and-sweep
garbage collector. The GC runs only when a
certain amount of memory has been used or
there is enough pressure for memory on the
system. Since it is not guaranteed when the
conditions to reclaim memory are reached, the
GC runs are non-deterministic
Each .NET application has a set of roots, which are
pointers to objects on the managed heap
(managed objects).
These include references to static objects and
objects defined as local variables or method
parameters currently in scope, as well as objects
referred to by CPU registers. When the GC runs, it
pauses the application, and for each object referred
to in the root, it recursivelyenumerates all the
objects reachable from the root objects and marks
them as reachable
The Microsoft .NET Framework is the predominant
implementation of .NET technologies.
Other implementations for parts of the framework
exist. Although the runtime engine is described by
an ECMA/ISO specification, other implementations
of it may be encumbered by patent issues; ISO
standards may include the disclaimer, "Attention is
drawn to the possibility that some of the elements
of this document may be the subject of patent
rights. ISO shall not be held responsible for
identifying any or all such patent rights
It is more difficult to develop alternatives to the
base class library (BCL), which is not described
by an open standard and may be subject to
copyright restrictions. Additionally, parts of the
BCL have Windows-specific functionality and
behavior, so implementation on non-Windows
platforms can be problematic.
Microsoft's .NET Micro Framework
Mono
Portable.NET
Microsoft's Shared Source Common Language
Infrastructure
CrossNet
.Net platform an understanding
.Net platform an understanding
.Net platform an understanding

More Related Content

PDF
Microsoft .NET Platform
PDF
The .NET Platform - A Brief Overview
PPT
Dotnet framework
PPT
Net framework
PPTX
Introduction to .NET by QuontraSolutions
PPT
Introduction to .NET Framework
PPT
Inside .net framework
PPTX
Net Fundamentals
Microsoft .NET Platform
The .NET Platform - A Brief Overview
Dotnet framework
Net framework
Introduction to .NET by QuontraSolutions
Introduction to .NET Framework
Inside .net framework
Net Fundamentals

What's hot (20)

PPSX
Introductionto .netframework by Priyanka Pinglikar
PDF
PPT
Introduction to .net
PPTX
Introduction to .net FrameWork by QuontraSolutions
PDF
Dotnet basics
PDF
Dot net-interview-questions-and-answers part i
PPTX
Dot net-interview-questions-and-answers part i
PDF
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)
PPTX
Overview of .Net Framework 4.5
PDF
Dot net
PPT
1.Philosophy of .NET
PPT
Microsoft.Net
PPTX
.Net slid
DOCX
Chapter 1 introduction to .net
DOC
.Net framework interview questions
PDF
Dotnet interview qa
PPT
Architecture of .net framework
PPT
C Sharp Jn
PPT
Architecture of net framework
PPT
Module 1: Introduction to .NET Framework 3.5 (Slides)
Introductionto .netframework by Priyanka Pinglikar
Introduction to .net
Introduction to .net FrameWork by QuontraSolutions
Dotnet basics
Dot net-interview-questions-and-answers part i
Dot net-interview-questions-and-answers part i
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)
Overview of .Net Framework 4.5
Dot net
1.Philosophy of .NET
Microsoft.Net
.Net slid
Chapter 1 introduction to .net
.Net framework interview questions
Dotnet interview qa
Architecture of .net framework
C Sharp Jn
Architecture of net framework
Module 1: Introduction to .NET Framework 3.5 (Slides)
Ad

Viewers also liked (6)

PDF
Model view view model
PPTX
.NET Standard - Introduction
PPTX
Introduction to .NET Core
PDF
Wcf development
PPSX
Introduction to .net framework
PPTX
Overview of the new .NET Core and .NET Platform Standard
Model view view model
.NET Standard - Introduction
Introduction to .NET Core
Wcf development
Introduction to .net framework
Overview of the new .NET Core and .NET Platform Standard
Ad

Similar to .Net platform an understanding (20)

PDF
.NET TECHNOLOGIES
DOCX
1 what is microsoft .net framework
DOCX
PPTX
Chapter1_Part1.pptx
PPTX
Session2 (3)
PPT
SynapseIndia dotnet web development architecture module
PPT
.Net Session Overview
PPTX
.Net Framework
PPT
SynapseIndia dotnet development platform overview
PPTX
.Net Framwork Architecture And components
DOCX
Online lg prodect
PPT
ASP.NET 01 - Introduction
PPS
dot NET Framework
PPTX
.Net framework
PPT
.Net framework
PPTX
PPTX
dotnet.pptx idurne jdie ek ieiebve ieneieie d
PPTX
DOCX
Interview Question of Aspdotnet
PDF
.NET TECHNOLOGIES
1 what is microsoft .net framework
Chapter1_Part1.pptx
Session2 (3)
SynapseIndia dotnet web development architecture module
.Net Session Overview
.Net Framework
SynapseIndia dotnet development platform overview
.Net Framwork Architecture And components
Online lg prodect
ASP.NET 01 - Introduction
dot NET Framework
.Net framework
.Net framework
dotnet.pptx idurne jdie ek ieiebve ieneieie d
Interview Question of Aspdotnet

More from Binu Bhasuran (11)

PPTX
Asp.net web api
PPTX
Design patterns fast track
PDF
Microsoft Azure solutions - Whitepaper
PPTX
C# Basics
PPTX
Microsoft Managed Extensibility Framework
PPTX
Restful Services With WFC
PPTX
Design patterns
PDF
Biz talk
PDF
Moving from webservices to wcf services
PDF
Beginning with wcf service
PDF
Asynchronous programming in .net 4.5 with c#
Asp.net web api
Design patterns fast track
Microsoft Azure solutions - Whitepaper
C# Basics
Microsoft Managed Extensibility Framework
Restful Services With WFC
Design patterns
Biz talk
Moving from webservices to wcf services
Beginning with wcf service
Asynchronous programming in .net 4.5 with c#

Recently uploaded (20)

PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
Spectroscopy.pptx food analysis technology
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Big Data Technologies - Introduction.pptx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPT
Teaching material agriculture food technology
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
cuic standard and advanced reporting.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Per capita expenditure prediction using model stacking based on satellite ima...
20250228 LYD VKU AI Blended-Learning.pptx
Spectral efficient network and resource selection model in 5G networks
“AI and Expert System Decision Support & Business Intelligence Systems”
Understanding_Digital_Forensics_Presentation.pptx
Spectroscopy.pptx food analysis technology
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Building Integrated photovoltaic BIPV_UPV.pdf
Electronic commerce courselecture one. Pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Big Data Technologies - Introduction.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?
Teaching material agriculture food technology
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Network Security Unit 5.pdf for BCA BBA.
cuic standard and advanced reporting.pdf
Review of recent advances in non-invasive hemoglobin estimation
sap open course for s4hana steps from ECC to s4
Build a system with the filesystem maintained by OSTree @ COSCUP 2025

.Net platform an understanding

  • 1. Binu Bhasuran Microsoft MVP Visual C# Facebook http://facebook.com/codeno47 Blog http://proxdev.com/
  • 2. What is a framework? How it is important to software development?
  • 3. The .NET Framework (pronounced dot net) is a software framework that runs primarily on Microsoft Windows. It includes a large library and provides language interoperability (each language can use code written in other languages) across several programming languages.
  • 4. CLR( Common Language Runtime) Base class library ( BCL)
  • 5. Programs written for the .NET Framework execute in a software environment known as the Common Language Runtime (CLR), an application virtual machine that provides important services such as security, memory management, and exception handling. The class library and the CLR together constitute the .NET Framework.
  • 6. The .NET Framework's Base Class Library provides user interface, data access, database connectivity, cryptography, web application development, numeric algorithms, and network communications. Programmers produce software by combining their own source code with the .NET Framework and other libraries. The .NET Framework is intended to be used by most new applications created for the Windows platform. Microsoft also produces a popular integrated development environment largely for .NET software called Visual Studio
  • 7. Microsoft started the development on the .NET Framework in the late 1990s originally under the name of Next Generation Windows Services (NGWS). By late 2000 the first beta versions of .NET 1.0 were released.
  • 10. Interoperability Common Language Runtime Engine Language Independence Framework Class Library Simplified Deployment Security Portability
  • 11. Because computer systems commonly require interaction between newer and older applications, the .NET Framework provides means to access functionality implemented in programs that execute outside the .NET environment. Access to COM components is provided in the System.Runtime.InteropServices and System.EnterpriseServices namespaces of the framework; access to other functionality is provided using the P/Invoke feature.
  • 12. The Common Language Runtime (CLR) is the execution engine of the .NET Framework. All .NET programs execute under the supervision of the CLR, guaranteeing certain properties and behaviors in the areas of memory management, security, and exception handling.
  • 13. The .NET Framework introduces a Common Type System, or CTS. The CTS specification defines all possible datatypes and programming constructs supported by the CLR and how they may or may not interact with each other conforming to the Common Language Infrastructure (CLI) specification. Because of this feature, the .NET Framework supports the exchange of types and object instances between libraries and applications written using any conforming .NET language.
  • 14. The Base Class Library (BCL), part of the Framework Class Library (FCL), is a library of functionality available to all languages using the .NET Framework. The BCL provides classes that encapsulate a number of common functions, including file reading and writing, graphic rendering, database interaction, XML document manipulation, and so on.
  • 15. The .NET Framework includes design features and tools which help manage the installation of computer software to ensure it does not interfere with previously installed software, and it conforms to security requirements.
  • 16. The design is meant to address some of the vulnerabilities, such as buffer overflows, which have been exploited by malicious software. Additionally, .NET provides a common security model for all applications.
  • 17. While Microsoft has never implemented the full framework on any system except Microsoft Windows, the framework is engineered to be platform agnostic, and cross-platform implementations are available for other operating systems.
  • 18. Microsoft submitted the specifications for the Common Language Infrastructure (which includes the core class libraries, Common Type System, and the Common Intermediate Language), the C# language, and the C++/CLI language to both ECMA and the ISO, making them available as open standards. This makes it possible for third parties to create compatible implementations of the framework and its languages on other platforms.
  • 20. The purpose of the Common Language Infrastructure (CLI) is to provide a language-neutral platform for application development and execution, including functions for Exception handling, Garbage Collection, security, and interoperability. By implementing the core aspects of the .NET Framework within the scope of the CLI, this functionality will not be tied to a single language but will be available across the many languages supported by the framework. Microsoft's implementation of the CLI is called the Common Language Runtime, or CLR..Net was developed in 1990.
  • 21. The CIL code is housed in .NET assemblies. As mandated by specification, assemblies are stored in the Portable Executable (PE) format, common on the Windows platform for all DLL and EXE files. The assembly consists of one or more files, one of which must contain the manifest, which has the metadata for the assembly.
  • 22. The complete name of an assembly (not to be confused with the filename on disk) contains its simple text name, version number, culture, and public key token. Assemblies are considered equivalent if they share the same complete name, excluding the revision of the version number. A private key can also be used by the creator of the assembly for strong naming.
  • 23. The public key token identifies which public key an assembly is signed with. Only the creator of the keypair (typically the .NET developer signing the assembly) can sign assemblies that have the same strong name as a previous version assembly, since he is in possession of the private key. Strong naming is required to add assemblies to the Global Assembly Cache.
  • 24. .NET has its own security mechanism with two general features: Code Access Security (CAS), and validation and verification. Code Access Security is based on evidence that is associated with a specific assembly.
  • 25. Typically the evidence is the source of the assembly (whether it is installed on the local machine or has been downloaded from the intranet or Internet). Code Access Security uses evidence to determine the permissions granted to the code. Other code can demand that calling code is granted a specified permission. The demand causes the CLR to perform a call stack walk: every assembly of each method in the call stack is checked for the required permission; if any assembly is not granted the permission a security exception is thrown.
  • 26. Namespaces in the BCL • SystemSystem. • CodeDomSystem. • CollectionsSystem. • DiagnosticsSystem. • GlobalizationSystem. • IOSystem. • ResourcesSystem. • TextSystem. • Text.RegularExpressions
  • 27. The .NET Framework CLR frees the developer from the burden of managing memory (allocating and freeing up when done); it handles memory management itself by detecting when memory can be safely freed. Memory is allocated to instantiations of .NET types (objects) from the managed heap, a pool of memory managed by the CLR.
  • 28. As long as there exists a reference to an object, which might be either a direct reference to an object or via a graph of objects, the object is considered to be in use. When there is no reference to an object, and it cannot be reached or used, it becomes garbage, eligible for collection. NET Framework includes a garbage collector which runs periodically, on a separate thread from the application's thread, that enumerates all the unusable objects and reclaims the memory allocated to them.
  • 29. The .NET Garbage Collector (GC) is a non- deterministic, compacting, mark-and-sweep garbage collector. The GC runs only when a certain amount of memory has been used or there is enough pressure for memory on the system. Since it is not guaranteed when the conditions to reclaim memory are reached, the GC runs are non-deterministic
  • 30. Each .NET application has a set of roots, which are pointers to objects on the managed heap (managed objects). These include references to static objects and objects defined as local variables or method parameters currently in scope, as well as objects referred to by CPU registers. When the GC runs, it pauses the application, and for each object referred to in the root, it recursivelyenumerates all the objects reachable from the root objects and marks them as reachable
  • 31. The Microsoft .NET Framework is the predominant implementation of .NET technologies. Other implementations for parts of the framework exist. Although the runtime engine is described by an ECMA/ISO specification, other implementations of it may be encumbered by patent issues; ISO standards may include the disclaimer, "Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. ISO shall not be held responsible for identifying any or all such patent rights
  • 32. It is more difficult to develop alternatives to the base class library (BCL), which is not described by an open standard and may be subject to copyright restrictions. Additionally, parts of the BCL have Windows-specific functionality and behavior, so implementation on non-Windows platforms can be problematic.
  • 33. Microsoft's .NET Micro Framework Mono Portable.NET Microsoft's Shared Source Common Language Infrastructure CrossNet