SlideShare a Scribd company logo
.NET Framework Overview.NET Framework Overview
.NET Framework, CLR, MSIL, Assemblies, CTS, etc..NET Framework, CLR, MSIL, Assemblies, CTS, etc.
Doncho MinkovDoncho Minkov
Telerik School AcademyTelerik School Academy
schoolacademy.telerik.comschoolacademy.telerik.com
Technical TrainerTechnical Trainer
http://www.minkov.ithttp://www.minkov.it
Table of ContentsTable of Contents
1.1. What isWhat is .NET.NET??
Microsoft .NET platform architectureMicrosoft .NET platform architecture
1.1. What isWhat is .NET.NET FrameworkFramework??
.NET Framework Architecture.NET Framework Architecture
1.1. Common Language Runtime (CLR)Common Language Runtime (CLR)
2.2. Managed CodeManaged Code
3.3. Intermediate LanguageIntermediate Language MSILMSIL
4.4. Assemblies and MetadataAssemblies and Metadata
5.5. .NET Applications.NET Applications
Table of ContentsTable of Contents (2)(2)
8.8. Common Language Infrastructure (CLI)Common Language Infrastructure (CLI) andand
integration of different languagesintegration of different languages
 Common Language Specification (CLS)Common Language Specification (CLS)
 Common Type System (CTS)Common Type System (CTS)
8.8. Framework Class LibraryFramework Class Library
9.9. Integrated Development EnvironmentIntegrated Development Environment VisualVisual
StudioStudio
.NET Framework.NET Framework
Microsoft's Platform forMicrosoft's Platform for
Application DevelopmentApplication Development
What is the .NET PlatformWhat is the .NET Platform??
 The .NET platformThe .NET platform
Microsoft's platform for software developmentMicrosoft's platform for software development
Unified technology for development of almostUnified technology for development of almost
any kind of applicationsany kind of applications
 GUI / Web / RIA / mobile / server / cloud / etc.GUI / Web / RIA / mobile / server / cloud / etc.
 .NET platform versions.NET platform versions
.NET Framework.NET Framework
Silverlight / Windows Phone 7Silverlight / Windows Phone 7
.NET Compact Framework.NET Compact Framework
What isWhat is .NET Framework?.NET Framework?
 .NET Framework.NET Framework
An environment for developing andAn environment for developing and
executingexecuting .NET.NET applicationsapplications
Unified programming modelUnified programming model,, set of languages,set of languages,
class librariesclass libraries,, infrastructure, components andinfrastructure, components and
tools for application developmenttools for application development
Environment for controlled execution ofEnvironment for controlled execution of
managed codemanaged code
 It is commonly assumed thatIt is commonly assumed that
.NET platform == .NET Framework.NET platform == .NET Framework
..NET Framework ComponentsNET Framework Components
 Common Language RuntimeCommon Language Runtime (CLR)(CLR)
Environment for controlled executionEnvironment for controlled execution ofof
programmed codeprogrammed code –– like a virtual machinelike a virtual machine
ExecutesExecutes .NET.NET applicationsapplications
 Framework Class LibraryFramework Class Library (FCL)(FCL)
StandardStandard class library for .NET developmentclass library for .NET development
Delivers basic functionality for developingDelivers basic functionality for developing:: XML,XML,
ADO.NET, LINQ, ASP.NET, WPF, WCF, WWF,ADO.NET, LINQ, ASP.NET, WPF, WCF, WWF,
Silverlight, Web services, Windows Forms,Silverlight, Web services, Windows Forms, ......
 SDK, compilers and toolsSDK, compilers and tools
.NET Framework Architecture.NET Framework Architecture
The OSThe OS manages themanages the resourcesresources,, thethe
processes and the users of the machineprocesses and the users of the machine
Provides to the applications someProvides to the applications some
services (threadsservices (threads,, I/O, GDI+, DirectX,I/O, GDI+, DirectX,
COM, COM+, MSMQ, IIS, WMI, …)COM, COM+, MSMQ, IIS, WMI, …)
CLR is a separate process in the OSCLR is a separate process in the OS
Operating System (OS)Operating System (OS)
Operating System (OS)Operating System (OS)
Common Language Runtime (CLR)Common Language Runtime (CLR)
CLR managesCLR manages the execution ofthe execution of
the.NET codethe.NET code
Manages the memoryManages the memory,,
concurrencyconcurrency,, securitysecurity, ..., ...
.NET Framework Architecture.NET Framework Architecture (2)(2)
CLRCLR
Operating System (OS)Operating System (OS)
Common Language Runtime (CLR)Common Language Runtime (CLR)
Base Class Library (BCL)Base Class Library (BCL)
.NET Framework Architecture.NET Framework Architecture ((33))
Rich object-oriented library withRich object-oriented library with
fundamental classesfundamental classes
Input-output, collections, textInput-output, collections, text
processing, networking,processing, networking, securitysecurity,,
multi-threadingmulti-threading,, ……
Operating System (OS)Operating System (OS)
Common Language Runtime (CLR)Common Language Runtime (CLR)
Base Class Library (BCL)Base Class Library (BCL)
ADO.NET, LINQ and XML (Data Tier)ADO.NET, LINQ and XML (Data Tier)
.NET Framework Architecture.NET Framework Architecture ((44))
Database accessDatabase access
ADO.NET, LINQ, LINQ-to-SQL andADO.NET, LINQ, LINQ-to-SQL and
Entity FrameworkEntity Framework
Strong XML supportStrong XML support
Operating System (OS)Operating System (OS)
Common Language Runtime (CLR)Common Language Runtime (CLR)
Base Class Library (BCL)Base Class Library (BCL)
ADO.NET, LINQ and XML (Data Tier)ADO.NET, LINQ and XML (Data Tier)
.NET Framework Architecture.NET Framework Architecture ((55))
WCF and WWF (Communication and Workflow Tier)WCF and WWF (Communication and Workflow Tier)
Windows CommunicationWindows Communication
Foundation (WCF) and WindowsFoundation (WCF) and Windows
Workflow Foundation (WWF) forWorkflow Foundation (WWF) for
the SOA worldthe SOA world
Operating System (OS)Operating System (OS)
Common Language Runtime (CLR)Common Language Runtime (CLR)
Base Class Library (BCL)Base Class Library (BCL)
ADO.NET, LINQ and XML (Data Tier)ADO.NET, LINQ and XML (Data Tier)
.NET Framework Architecture.NET Framework Architecture ((66))
WCF and WWF (Communication and Workflow Tier)WCF and WWF (Communication and Workflow Tier)
ASP.NETASP.NET
Web Forms, MVC, AJAXWeb Forms, MVC, AJAX
Mobile Internet ToolkitMobile Internet Toolkit
WindowsWindows
FormsForms
WPFWPF SilverlightSilverlight
User interface technologies: Web based,User interface technologies: Web based,
Windows GUI, WPF, Silverlight, mobile,Windows GUI, WPF, Silverlight, mobile,
……
Operating System (OS)Operating System (OS)
Common Language Runtime (CLR)Common Language Runtime (CLR)
Base Class Library (BCL)Base Class Library (BCL)
ADO.NET, LINQ and XML (Data Tier)ADO.NET, LINQ and XML (Data Tier)
.NET Framework Architecture.NET Framework Architecture ((77))
WCF and WWF (Communication and Workflow Tier)WCF and WWF (Communication and Workflow Tier)
ASP.NETASP.NET
Web Forms, MVC, AJAXWeb Forms, MVC, AJAX
Mobile Internet ToolkitMobile Internet Toolkit
WindowsWindows
FormsForms
WPFWPF SilverlightSilverlight
C#C# C++C++ VB.NETVB.NET J#J# F#F# JScriptJScript PerlPerl DelphiDelphi ……
Programming language on your flavor!Programming language on your flavor!
.NET Framework 4.0.NET Framework 4.0
15
The FutureThe Future
16
Common LanguageCommon Language
RuntimeRuntime ((CLRCLR))
The Heart of .NET FrameworkThe Heart of .NET Framework
Common Language RuntimeCommon Language Runtime ((CLRCLR))
 Managed execution environmentManaged execution environment
Controls the execution of managedControls the execution of managed ..NETNET
programming codeprogramming code
 Something like virtual machineSomething like virtual machine
Like the Java Virtual Machine (JVM)Like the Java Virtual Machine (JVM)
 Not an interpreterNot an interpreter
Compilation on-demand is usedCompilation on-demand is used
 Known asKnown as Just In Time (JIT) compilationJust In Time (JIT) compilation
 Possible compilation in advance (Ngen)Possible compilation in advance (Ngen)
ResponsibilitiesResponsibilities ofof CLRCLR
 Execution of theExecution of the IL codeIL code andand the JITthe JIT
compilationcompilation
 Managing memory and application resourcesManaging memory and application resources
 Ensuring type safetyEnsuring type safety
 Interaction with the OSInteraction with the OS
 Managing securityManaging security
Code access securityCode access security
Role-based securityRole-based security
ResponsibilitiesResponsibilities ofof CLRCLR (2)(2)
 Managing exceptionsManaging exceptions
 Managing concurrencyManaging concurrency –– controlling thecontrolling the
parallel execution of applicationparallel execution of application threadsthreads
 Managing application domains and theirManaging application domains and their
isolationisolation
 Interaction with unmanaged codeInteraction with unmanaged code
 SupportingSupporting debug /debug /
profile of .NET codeprofile of .NET code
CLR ArchitectureCLR Architecture
Class LoaderClass Loader
IL to NativeIL to Native
JIT CompilerJIT Compiler
CodeCode
ManagerManager
GarbageGarbage
CollectorCollector
Security EngineSecurity Engine Debug EngineDebug Engine
Type CheckerType Checker Exception ManagerException Manager
Thread SupportThread Support COM MarshalerCOM Marshaler
Base Class Library SupportBase Class Library Support
Managed andManaged and
Unmanaged CodeUnmanaged Code
What is the Difference?What is the Difference?
Managed CodeManaged Code
 CLR executed code is calledCLR executed code is called managed codemanaged code
 Represents programming code in the low levelRepresents programming code in the low level
languagelanguage MSILMSIL (MS Intermediate Language)(MS Intermediate Language)
 Contains metadataContains metadata
Description of classesDescription of classes,, interfacesinterfaces,, propertiesproperties,,
fieldsfields,, methodsmethods,, parameters, etc.parameters, etc.
 ProgramsPrograms,, written in anywritten in any .NET language are.NET language are
Compiled to managed codeCompiled to managed code (MSIL)(MSIL)
Packaged as assemblies (Packaged as assemblies (.exe.exe oror ..dlldll files)files)
Managed CodeManaged Code (2)(2)
 Object-orientedObject-oriented
 SecureSecure
 ReliableReliable
Protected fromProtected from irregularirregular use of typesuse of types ((type-safe)type-safe)
 Allows integration between components andAllows integration between components and
data types of different programmingdata types of different programming
languageslanguages
 Portable between different platformsPortable between different platforms
Windows, Linux, Max OS X, etc.Windows, Linux, Max OS X, etc.
Unmanaged (Win32) CodeUnmanaged (Win32) Code
 No protection of memory and type-safetyNo protection of memory and type-safety
Reliability problemsReliability problems
Safety problemsSafety problems
 Doesn’t contain metadataDoesn’t contain metadata
Needs additional overhead like (e.g. use COM)Needs additional overhead like (e.g. use COM)
 Compiled to machine-dependent codeCompiled to machine-dependent code
Need of different versions for differentNeed of different versions for different
platformsplatforms
Hard to be ported to other platformsHard to be ported to other platforms
Memory ManagementMemory Management
 CLR manages memory automaticallyCLR manages memory automatically
Dynamically loadedDynamically loaded objects are stored in theobjects are stored in the
managed heapmanaged heap
Unusable objects are automatically cleaned upUnusable objects are automatically cleaned up
by theby the garbage collectorgarbage collector
 Some of the big problems are solvedSome of the big problems are solved
Memory leaksMemory leaks
Access to freed or unallocated memoryAccess to freed or unallocated memory
 Objects are accessed through a referenceObjects are accessed through a reference
IntermediateIntermediate
Language (MSIL)Language (MSIL)
Intermediate LanguageIntermediate Language
((MSILMSIL,, ILIL,, CIL)CIL)
 Low level languageLow level language ((machine languagemachine language)) for thefor the
.NET CLR.NET CLR
 Has independent set of CPU instructionsHas independent set of CPU instructions
Loading and storing data, calling methodsLoading and storing data, calling methods
Arithmetic and logical operationsArithmetic and logical operations
Exception handlingException handling
Etc.Etc.
 MSIL is converted to instructions for theMSIL is converted to instructions for the
current physical CPU by the JIT compilercurrent physical CPU by the JIT compiler
SampleSample MSIL ProgramMSIL Program
.method private hidebysig static void Main() cil managed.method private hidebysig static void Main() cil managed
{{
.entrypoint.entrypoint
// Code size 11 (0xb)// Code size 11 (0xb)
.maxstack 8.maxstack 8
ldstr "Hello, world!"ldstr "Hello, world!"
call voidcall void
[mscorlib]System.Console::WriteLine(string)[mscorlib]System.Console::WriteLine(string)
retret
} // end of method HelloWorld::Main} // end of method HelloWorld::Main
Compilation and ExecutionCompilation and Execution
CompilationCompilation
ExecutionExecution
JITJIT
compilercompiler
MachineMachine
codecode
MSILMSIL
CodeCode
MetadataMetadata
SourceSource
codecode
LanguageLanguage
compilercompiler
AssemblyAssembly
(.EXE or(.EXE or
.DLL file).DLL file)
When givenWhen given
method is calledmethod is called
for the first timefor the first time
Pre-compilationPre-compilation
during theduring the
install (NGEN)install (NGEN)
.NET Applications.NET Applications
Assemblies, Metadata and ApplicationsAssemblies, Metadata and Applications
.NET Assemblies.NET Assemblies
 .NET assemblies:.NET assemblies:
Self-containing .NET componentsSelf-containing .NET components
 Stored in .DLL and .EXE filesStored in .DLL and .EXE files
Contain list of classes, types and resourcesContain list of classes, types and resources
Smallest deployment unit in CLRSmallest deployment unit in CLR
Have unique version numberHave unique version number
 .NET deployment model.NET deployment model
No version conflicts (forget the "DLL hell")No version conflicts (forget the "DLL hell")
Supports side-by-side execution of differentSupports side-by-side execution of different
versions of the same assemblyversions of the same assembly
Metadata in the AssembliesMetadata in the Assemblies
 Metadata in the .NET assembliesMetadata in the .NET assemblies
Data about data contained in the assemblyData about data contained in the assembly
Integral part of the assemblyIntegral part of the assembly
Generated by the .NET languages compilerGenerated by the .NET languages compiler
Describes all classes, their class members,Describes all classes, their class members,
versions, resources, etc.versions, resources, etc.
Metadata in AssembliesMetadata in Assemblies
Type DescriptionType Description
Assembly DescriptionAssembly Description
Classes, interfaces, inner types, base
classes, implemented interfaces,
member fields, properties, methods,
method parameters, return value,
attributes, etc.
Dependencies on other assembliesDependencies on other assemblies
SecuritySecurity permissionspermissions
Exported typesExported types
Dependencies on other assembliesDependencies on other assemblies
SecuritySecurity permissionspermissions
Exported typesExported types
[digital[digital
signature]signature]
[digital[digital
signature]signature]
NameName
VersionVersion
LocalizationLocalization
NameName
VersionVersion
LocalizationLocalization
..NETNET ApplicationsApplications
 Configurable executable .NET unitsConfigurable executable .NET units
 Consist of one or more assembliesConsist of one or more assemblies
 Installed by "copy / paste"Installed by "copy / paste"
No complex registration of componentsNo complex registration of components
 Different applications use different versions ofDifferent applications use different versions of
common assembliescommon assemblies
No conflicts due to their "strong name"No conflicts due to their "strong name"
 Easy installationEasy installation,, un-installation and updateun-installation and update
Common Type System (CTS)Common Type System (CTS)
 CTS defines the CLRCTS defines the CLR supported types ofsupported types of
data and the operations over themdata and the operations over them
 Ensures data level compatibility betweenEnsures data level compatibility between
different .NETdifferent .NET languageslanguages
E.g.E.g. stringstring inin C#C# is the same likeis the same like StringString inin
VB.NETVB.NET and inand in J#J#
 Value types and reference typesValue types and reference types
 All types derive fromAll types derive from System.ObjectSystem.Object
The .NET LanguagesThe .NET Languages
C#,VB.NET, C++, J#, etc.C#,VB.NET, C++, J#, etc.
..NET LanguagesNET Languages
 .NET languages by Microsoft.NET languages by Microsoft
C#, VB.NET, Managed C++, J#, F#,C#, VB.NET, Managed C++, J#, F#, JScriptJScript
 .NET languages.NET languages by third partiesby third parties
Object Pascal, Perl, Python, COBOL, Haskell,Object Pascal, Perl, Python, COBOL, Haskell,
Oberon, Scheme, Smalltalk…Oberon, Scheme, Smalltalk…
 Different languages can be mixed in a singleDifferent languages can be mixed in a single
applicationapplication
 Cross-language inheritance of types andCross-language inheritance of types and
exception handlingexception handling
C# LanguageC# Language
 C# is mixture between C++, Java and DelphiC# is mixture between C++, Java and Delphi
 Fully object-oriented by designFully object-oriented by design
 Component-oriented programming modelComponent-oriented programming model
 ComponentsComponents,, properties and eventsproperties and events
 No header files like C/C++No header files like C/C++
 Suitable forSuitable for GUIGUI andand WebWeb applicationsapplications
 XML based documentationXML based documentation
 InIn C# all data types are objectsC# all data types are objects
 Example:Example: 5.ToString()5.ToString() is a valid callis a valid call
C# Language – ExampleC# Language – Example
 C# is standardized byC# is standardized by ECMA and ISOECMA and ISO
 Example of C# program:Example of C# program:
using System;using System;
class NumbersFrom1to100class NumbersFrom1to100
{{
static void Main()static void Main()
{{
for (int i=1; i<=100; i++)for (int i=1; i<=100; i++)
{{
Console.WriteLine(i);Console.WriteLine(i);
}}
}}
}}
Framework ClassFramework Class
Library (FCL)Library (FCL)
Standard Out-of-the-box .NET APIsStandard Out-of-the-box .NET APIs
Framework Class Library (FCL)Framework Class Library (FCL)
 Framework Class Library is the standardFramework Class Library is the standard
.NET Framework library of out-of-the-box.NET Framework library of out-of-the-box
reusable classes and components (APIs)reusable classes and components (APIs)
Base Class Library (BCL)Base Class Library (BCL)
ADO.NET, LINQ and XML (Data Tier)ADO.NET, LINQ and XML (Data Tier)
WCF and WWF (Communication and Workflow Tier)WCF and WWF (Communication and Workflow Tier)
ASP.NETASP.NET
Web Forms, MVC, AJAXWeb Forms, MVC, AJAX
Mobile Internet ToolkitMobile Internet Toolkit
WindowsWindows
FormsForms
WPFWPF SilverlightSilverlight
FCL NamespacesFCL Namespaces
ADO.NET, LINQ and XML (Data Tier)ADO.NET, LINQ and XML (Data Tier)
WCF and WWF (Communication and Workflow Tier)WCF and WWF (Communication and Workflow Tier)
ASP.NETASP.NET
Web Forms, MVC, AJAXWeb Forms, MVC, AJAX
Mobile Internet ToolkitMobile Internet Toolkit
WindowsWindows
FormsForms
WPF & SilverlightWPF & Silverlight
System.WebSystem.WebSystem.WebSystem.Web
System.Web.MvcSystem.Web.MvcSystem.Web.MvcSystem.Web.Mvc
System.WindowsSystem.Windows
.Forms.Forms
System.WindowsSystem.Windows
.Forms.Forms
System.DrawingSystem.DrawingSystem.DrawingSystem.Drawing
System.WindowsSystem.WindowsSystem.WindowsSystem.Windows
System.Windows.MediaSystem.Windows.MediaSystem.Windows.MediaSystem.Windows.Media
System.Windows.MarkupSystem.Windows.MarkupSystem.Windows.MarkupSystem.Windows.Markup
System.ServiceModelSystem.ServiceModelSystem.ServiceModelSystem.ServiceModel System.ActivitiesSystem.ActivitiesSystem.ActivitiesSystem.Activities System.WorkflowSystem.WorkflowSystem.WorkflowSystem.Workflow
System.DataSystem.DataSystem.DataSystem.Data System.LinqSystem.LinqSystem.LinqSystem.Linq
System.Data.LinqSystem.Data.LinqSystem.Data.LinqSystem.Data.Linq
System.XmlSystem.XmlSystem.XmlSystem.Xml
System.Xml.LinqSystem.Xml.LinqSystem.Xml.LinqSystem.Xml.Linq System.Data.EntitySystem.Data.EntitySystem.Data.EntitySystem.Data.Entity
Visual Studio IDEVisual Studio IDE
Powerful Development Environment for .NETPowerful Development Environment for .NET
Visual StudioVisual Studio
 Visual Studio is powerful IntegratedVisual Studio is powerful Integrated
Development Environment (IDE) for .NETDevelopment Environment (IDE) for .NET
DevelopersDevelopers
Create, edit, compile and run .NET applicationsCreate, edit, compile and run .NET applications
Different languagesDifferent languages –– C#, CC#, C++,++, VB.NET,VB.NET, J#, …J#, …
FlexibleFlexible code editorcode editor
PowerfulPowerful debuggerdebugger
Integrated with SQL ServerIntegrated with SQL Server andand IISIIS
Strong support of Web services, WCF and WWFStrong support of Web services, WCF and WWF
Visual StudioVisual Studio (2)(2)
 Visual programmingVisual programming
Component-orientedComponent-oriented,, event basedevent based
 Managed and unmanaged codeManaged and unmanaged code
 Helpful wizards and editorsHelpful wizards and editors
Windows Forms DesignerWindows Forms Designer
WCF / Silverlight DesignerWCF / Silverlight Designer
ASP.NET Web Forms DesignerASP.NET Web Forms Designer
ADO.NET / LINQ-to-SQL / XML Data DesignerADO.NET / LINQ-to-SQL / XML Data Designer
 Many third party extensionsMany third party extensions
Visual StudioVisual Studio IDEIDE
.NET Framework Overview.NET Framework Overview
Questions?Questions?
http://aspnetcourse.telerik.com

More Related Content

What's hot

Microsoft dot net framework
Microsoft dot net frameworkMicrosoft dot net framework
Microsoft dot net frameworkAshish Verma
 
20. Object-Oriented Programming Fundamental Principles
20. Object-Oriented Programming Fundamental Principles20. Object-Oriented Programming Fundamental Principles
20. Object-Oriented Programming Fundamental Principles
Intro C# Book
 
Microsoft .NET Framework
Microsoft .NET FrameworkMicrosoft .NET Framework
Microsoft .NET Framework
chandrasekhardesireddi
 
Object-oriented Programming-with C#
Object-oriented Programming-with C#Object-oriented Programming-with C#
Object-oriented Programming-with C#Doncho Minkov
 
.Net overview|Introduction Of .net
.Net overview|Introduction Of .net.Net overview|Introduction Of .net
.Net overview|Introduction Of .net
pinky singh
 
C# Basics
C# BasicsC# Basics
C# Basics
Sunil OS
 
Nakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - EnglishNakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - EnglishSvetlin Nakov
 
Introduction to c#
Introduction to c#Introduction to c#
.NET and C# introduction
.NET and C# introduction.NET and C# introduction
.NET and C# introduction
Peter Gfader
 
Introduction To C#
Introduction To C#Introduction To C#
Introduction To C#
SAMIR BHOGAYTA
 
Basic Concepts of OOPs (Object Oriented Programming in Java)
Basic Concepts of OOPs (Object Oriented Programming in Java)Basic Concepts of OOPs (Object Oriented Programming in Java)
Basic Concepts of OOPs (Object Oriented Programming in Java)
Michelle Anne Meralpis
 
.NET and C# Introduction
.NET and C# Introduction.NET and C# Introduction
.NET and C# Introduction
Siraj Memon
 
C# Exceptions Handling
C# Exceptions Handling C# Exceptions Handling
C# Exceptions Handling
sharqiyem
 
Exception Handling in JAVA
Exception Handling in JAVAException Handling in JAVA
Exception Handling in JAVA
SURIT DATTA
 
Dot net assembly
Dot net assemblyDot net assembly
Dot net assembly
Dr.Neeraj Kumar Pandey
 
Introduction to ASP.NET
Introduction to ASP.NETIntroduction to ASP.NET
Introduction to ASP.NET
Rajkumarsoy
 
Architecture of .net framework
Architecture of .net frameworkArchitecture of .net framework
Architecture of .net framework
Then Murugeshwari
 

What's hot (20)

Microsoft dot net framework
Microsoft dot net frameworkMicrosoft dot net framework
Microsoft dot net framework
 
20. Object-Oriented Programming Fundamental Principles
20. Object-Oriented Programming Fundamental Principles20. Object-Oriented Programming Fundamental Principles
20. Object-Oriented Programming Fundamental Principles
 
Microsoft .NET Framework
Microsoft .NET FrameworkMicrosoft .NET Framework
Microsoft .NET Framework
 
Object-oriented Programming-with C#
Object-oriented Programming-with C#Object-oriented Programming-with C#
Object-oriented Programming-with C#
 
.Net overview|Introduction Of .net
.Net overview|Introduction Of .net.Net overview|Introduction Of .net
.Net overview|Introduction Of .net
 
C# Basics
C# BasicsC# Basics
C# Basics
 
Nakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - EnglishNakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - English
 
Asp.net.
Asp.net.Asp.net.
Asp.net.
 
Introduction to c#
Introduction to c#Introduction to c#
Introduction to c#
 
.NET and C# introduction
.NET and C# introduction.NET and C# introduction
.NET and C# introduction
 
Introduction To C#
Introduction To C#Introduction To C#
Introduction To C#
 
Basic Concepts of OOPs (Object Oriented Programming in Java)
Basic Concepts of OOPs (Object Oriented Programming in Java)Basic Concepts of OOPs (Object Oriented Programming in Java)
Basic Concepts of OOPs (Object Oriented Programming in Java)
 
.NET and C# Introduction
.NET and C# Introduction.NET and C# Introduction
.NET and C# Introduction
 
C# Exceptions Handling
C# Exceptions Handling C# Exceptions Handling
C# Exceptions Handling
 
Exception Handling in JAVA
Exception Handling in JAVAException Handling in JAVA
Exception Handling in JAVA
 
Dot net assembly
Dot net assemblyDot net assembly
Dot net assembly
 
Introduction to ASP.NET
Introduction to ASP.NETIntroduction to ASP.NET
Introduction to ASP.NET
 
ASP.NET Basics
ASP.NET Basics ASP.NET Basics
ASP.NET Basics
 
C sharp
C sharpC sharp
C sharp
 
Architecture of .net framework
Architecture of .net frameworkArchitecture of .net framework
Architecture of .net framework
 

Similar to .NET Framework Overview

Net Framework Overview
Net Framework OverviewNet Framework Overview
Net Framework Overview
Luis Goldster
 
Nakov dot net-framework-overview-english
Nakov dot net-framework-overview-englishNakov dot net-framework-overview-english
Nakov dot net-framework-overview-english
srivathsan.10
 
.NET Overview
.NET Overview.NET Overview
.NET Overview
Greg Sohl
 
Introdot Netc Sharp En
Introdot Netc Sharp EnIntrodot Netc Sharp En
Introdot Netc Sharp EnGregory Renard
 
Overview of microsoft dot net platforms
Overview of microsoft dot net platformsOverview of microsoft dot net platforms
Overview of microsoft dot net platforms
Abhijit B.
 
.Net overview
.Net overview.Net overview
.Net Framework
.Net Framework.Net Framework
.Net Framework
MohamadKrm
 
Introductionto .netframework by Priyanka Pinglikar
Introductionto .netframework by Priyanka PinglikarIntroductionto .netframework by Priyanka Pinglikar
Introductionto .netframework by Priyanka Pinglikar
PriyankaPinglikar
 
Microsoft.Net
Microsoft.NetMicrosoft.Net
Microsoft.Net
Vishwa Mohan
 
SynapseIndia dotnet framework library
SynapseIndia  dotnet framework librarySynapseIndia  dotnet framework library
SynapseIndia dotnet framework library
Synapseindiappsdevelopment
 
Net Fundamentals
Net FundamentalsNet Fundamentals
Net FundamentalsAli Taki
 
Synapse india reviews sharing asp.net
Synapse india reviews sharing  asp.netSynapse india reviews sharing  asp.net
Synapse india reviews sharing asp.net
SynapseindiaComplaints
 
Introduction to .NET by QuontraSolutions
Introduction to .NET by QuontraSolutionsIntroduction to .NET by QuontraSolutions
Introduction to .NET by QuontraSolutions
QUONTRASOLUTIONS
 
.Net Overview
.Net Overview.Net Overview
.Net Overview
Pankaj Rattan
 
jhkghj
jhkghjjhkghj
jhkghjAdmin
 
test2PPT
test2PPTtest2PPT
test2PPTAdmin
 
Asp net
Asp netAsp net

Similar to .NET Framework Overview (20)

Net Framework Overview
Net Framework OverviewNet Framework Overview
Net Framework Overview
 
Nakov dot net-framework-overview-english
Nakov dot net-framework-overview-englishNakov dot net-framework-overview-english
Nakov dot net-framework-overview-english
 
.NET Overview
.NET Overview.NET Overview
.NET Overview
 
.net framework
.net framework.net framework
.net framework
 
Introdot Netc Sharp En
Introdot Netc Sharp EnIntrodot Netc Sharp En
Introdot Netc Sharp En
 
Overview of microsoft dot net platforms
Overview of microsoft dot net platformsOverview of microsoft dot net platforms
Overview of microsoft dot net platforms
 
.Net overview
.Net overview.Net overview
.Net overview
 
.Net Framework
.Net Framework.Net Framework
.Net Framework
 
Introductionto .netframework by Priyanka Pinglikar
Introductionto .netframework by Priyanka PinglikarIntroductionto .netframework by Priyanka Pinglikar
Introductionto .netframework by Priyanka Pinglikar
 
Microsoft.Net
Microsoft.NetMicrosoft.Net
Microsoft.Net
 
SynapseIndia dotnet framework library
SynapseIndia  dotnet framework librarySynapseIndia  dotnet framework library
SynapseIndia dotnet framework library
 
Net Fundamentals
Net FundamentalsNet Fundamentals
Net Fundamentals
 
Synapse india reviews sharing asp.net
Synapse india reviews sharing  asp.netSynapse india reviews sharing  asp.net
Synapse india reviews sharing asp.net
 
Introduction to .NET by QuontraSolutions
Introduction to .NET by QuontraSolutionsIntroduction to .NET by QuontraSolutions
Introduction to .NET by QuontraSolutions
 
.Net overview
.Net overview.Net overview
.Net overview
 
.Net Overview
.Net Overview.Net Overview
.Net Overview
 
jhkghj
jhkghjjhkghj
jhkghj
 
test2PPT
test2PPTtest2PPT
test2PPT
 
Asp net
Asp netAsp net
Asp net
 
Introduction to .net
Introduction to .netIntroduction to .net
Introduction to .net
 

More from Doncho Minkov

HTML 5 Tables and Forms
HTML 5 Tables and FormsHTML 5 Tables and Forms
HTML 5 Tables and FormsDoncho Minkov
 
Introduction to XAML and WPF
Introduction to XAML and WPFIntroduction to XAML and WPF
Introduction to XAML and WPFDoncho Minkov
 
WPF Layout Containers
WPF Layout ContainersWPF Layout Containers
WPF Layout ContainersDoncho Minkov
 
WPF Templating and Styling
WPF Templating and StylingWPF Templating and Styling
WPF Templating and StylingDoncho Minkov
 
WPF Graphics and Animations
WPF Graphics and AnimationsWPF Graphics and Animations
WPF Graphics and AnimationsDoncho Minkov
 
Complex Data Binding
Complex Data BindingComplex Data Binding
Complex Data BindingDoncho Minkov
 
Model View ViewModel
Model View ViewModelModel View ViewModel
Model View ViewModelDoncho Minkov
 

More from Doncho Minkov (20)

Web Design Concepts
Web Design ConceptsWeb Design Concepts
Web Design Concepts
 
Web design Tools
Web design ToolsWeb design Tools
Web design Tools
 
HTML 5
HTML 5HTML 5
HTML 5
 
HTML 5 Tables and Forms
HTML 5 Tables and FormsHTML 5 Tables and Forms
HTML 5 Tables and Forms
 
CSS Overview
CSS OverviewCSS Overview
CSS Overview
 
CSS Presentation
CSS PresentationCSS Presentation
CSS Presentation
 
CSS Layout
CSS LayoutCSS Layout
CSS Layout
 
CSS 3
CSS 3CSS 3
CSS 3
 
Adobe Photoshop
Adobe PhotoshopAdobe Photoshop
Adobe Photoshop
 
Slice and Dice
Slice and DiceSlice and Dice
Slice and Dice
 
Introduction to XAML and WPF
Introduction to XAML and WPFIntroduction to XAML and WPF
Introduction to XAML and WPF
 
WPF Layout Containers
WPF Layout ContainersWPF Layout Containers
WPF Layout Containers
 
WPF Controls
WPF ControlsWPF Controls
WPF Controls
 
WPF Templating and Styling
WPF Templating and StylingWPF Templating and Styling
WPF Templating and Styling
 
WPF Graphics and Animations
WPF Graphics and AnimationsWPF Graphics and Animations
WPF Graphics and Animations
 
Simple Data Binding
Simple Data BindingSimple Data Binding
Simple Data Binding
 
Complex Data Binding
Complex Data BindingComplex Data Binding
Complex Data Binding
 
WPF Concepts
WPF ConceptsWPF Concepts
WPF Concepts
 
Model View ViewModel
Model View ViewModelModel View ViewModel
Model View ViewModel
 
WPF and Databases
WPF and DatabasesWPF and Databases
WPF and Databases
 

Recently uploaded

GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 

Recently uploaded (20)

GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 

.NET Framework Overview

  • 1. .NET Framework Overview.NET Framework Overview .NET Framework, CLR, MSIL, Assemblies, CTS, etc..NET Framework, CLR, MSIL, Assemblies, CTS, etc. Doncho MinkovDoncho Minkov Telerik School AcademyTelerik School Academy schoolacademy.telerik.comschoolacademy.telerik.com Technical TrainerTechnical Trainer http://www.minkov.ithttp://www.minkov.it
  • 2. Table of ContentsTable of Contents 1.1. What isWhat is .NET.NET?? Microsoft .NET platform architectureMicrosoft .NET platform architecture 1.1. What isWhat is .NET.NET FrameworkFramework?? .NET Framework Architecture.NET Framework Architecture 1.1. Common Language Runtime (CLR)Common Language Runtime (CLR) 2.2. Managed CodeManaged Code 3.3. Intermediate LanguageIntermediate Language MSILMSIL 4.4. Assemblies and MetadataAssemblies and Metadata 5.5. .NET Applications.NET Applications
  • 3. Table of ContentsTable of Contents (2)(2) 8.8. Common Language Infrastructure (CLI)Common Language Infrastructure (CLI) andand integration of different languagesintegration of different languages  Common Language Specification (CLS)Common Language Specification (CLS)  Common Type System (CTS)Common Type System (CTS) 8.8. Framework Class LibraryFramework Class Library 9.9. Integrated Development EnvironmentIntegrated Development Environment VisualVisual StudioStudio
  • 4. .NET Framework.NET Framework Microsoft's Platform forMicrosoft's Platform for Application DevelopmentApplication Development
  • 5. What is the .NET PlatformWhat is the .NET Platform??  The .NET platformThe .NET platform Microsoft's platform for software developmentMicrosoft's platform for software development Unified technology for development of almostUnified technology for development of almost any kind of applicationsany kind of applications  GUI / Web / RIA / mobile / server / cloud / etc.GUI / Web / RIA / mobile / server / cloud / etc.  .NET platform versions.NET platform versions .NET Framework.NET Framework Silverlight / Windows Phone 7Silverlight / Windows Phone 7 .NET Compact Framework.NET Compact Framework
  • 6. What isWhat is .NET Framework?.NET Framework?  .NET Framework.NET Framework An environment for developing andAn environment for developing and executingexecuting .NET.NET applicationsapplications Unified programming modelUnified programming model,, set of languages,set of languages, class librariesclass libraries,, infrastructure, components andinfrastructure, components and tools for application developmenttools for application development Environment for controlled execution ofEnvironment for controlled execution of managed codemanaged code  It is commonly assumed thatIt is commonly assumed that .NET platform == .NET Framework.NET platform == .NET Framework
  • 7. ..NET Framework ComponentsNET Framework Components  Common Language RuntimeCommon Language Runtime (CLR)(CLR) Environment for controlled executionEnvironment for controlled execution ofof programmed codeprogrammed code –– like a virtual machinelike a virtual machine ExecutesExecutes .NET.NET applicationsapplications  Framework Class LibraryFramework Class Library (FCL)(FCL) StandardStandard class library for .NET developmentclass library for .NET development Delivers basic functionality for developingDelivers basic functionality for developing:: XML,XML, ADO.NET, LINQ, ASP.NET, WPF, WCF, WWF,ADO.NET, LINQ, ASP.NET, WPF, WCF, WWF, Silverlight, Web services, Windows Forms,Silverlight, Web services, Windows Forms, ......  SDK, compilers and toolsSDK, compilers and tools
  • 8. .NET Framework Architecture.NET Framework Architecture The OSThe OS manages themanages the resourcesresources,, thethe processes and the users of the machineprocesses and the users of the machine Provides to the applications someProvides to the applications some services (threadsservices (threads,, I/O, GDI+, DirectX,I/O, GDI+, DirectX, COM, COM+, MSMQ, IIS, WMI, …)COM, COM+, MSMQ, IIS, WMI, …) CLR is a separate process in the OSCLR is a separate process in the OS Operating System (OS)Operating System (OS)
  • 9. Operating System (OS)Operating System (OS) Common Language Runtime (CLR)Common Language Runtime (CLR) CLR managesCLR manages the execution ofthe execution of the.NET codethe.NET code Manages the memoryManages the memory,, concurrencyconcurrency,, securitysecurity, ..., ... .NET Framework Architecture.NET Framework Architecture (2)(2) CLRCLR
  • 10. Operating System (OS)Operating System (OS) Common Language Runtime (CLR)Common Language Runtime (CLR) Base Class Library (BCL)Base Class Library (BCL) .NET Framework Architecture.NET Framework Architecture ((33)) Rich object-oriented library withRich object-oriented library with fundamental classesfundamental classes Input-output, collections, textInput-output, collections, text processing, networking,processing, networking, securitysecurity,, multi-threadingmulti-threading,, ……
  • 11. Operating System (OS)Operating System (OS) Common Language Runtime (CLR)Common Language Runtime (CLR) Base Class Library (BCL)Base Class Library (BCL) ADO.NET, LINQ and XML (Data Tier)ADO.NET, LINQ and XML (Data Tier) .NET Framework Architecture.NET Framework Architecture ((44)) Database accessDatabase access ADO.NET, LINQ, LINQ-to-SQL andADO.NET, LINQ, LINQ-to-SQL and Entity FrameworkEntity Framework Strong XML supportStrong XML support
  • 12. Operating System (OS)Operating System (OS) Common Language Runtime (CLR)Common Language Runtime (CLR) Base Class Library (BCL)Base Class Library (BCL) ADO.NET, LINQ and XML (Data Tier)ADO.NET, LINQ and XML (Data Tier) .NET Framework Architecture.NET Framework Architecture ((55)) WCF and WWF (Communication and Workflow Tier)WCF and WWF (Communication and Workflow Tier) Windows CommunicationWindows Communication Foundation (WCF) and WindowsFoundation (WCF) and Windows Workflow Foundation (WWF) forWorkflow Foundation (WWF) for the SOA worldthe SOA world
  • 13. Operating System (OS)Operating System (OS) Common Language Runtime (CLR)Common Language Runtime (CLR) Base Class Library (BCL)Base Class Library (BCL) ADO.NET, LINQ and XML (Data Tier)ADO.NET, LINQ and XML (Data Tier) .NET Framework Architecture.NET Framework Architecture ((66)) WCF and WWF (Communication and Workflow Tier)WCF and WWF (Communication and Workflow Tier) ASP.NETASP.NET Web Forms, MVC, AJAXWeb Forms, MVC, AJAX Mobile Internet ToolkitMobile Internet Toolkit WindowsWindows FormsForms WPFWPF SilverlightSilverlight User interface technologies: Web based,User interface technologies: Web based, Windows GUI, WPF, Silverlight, mobile,Windows GUI, WPF, Silverlight, mobile, ……
  • 14. Operating System (OS)Operating System (OS) Common Language Runtime (CLR)Common Language Runtime (CLR) Base Class Library (BCL)Base Class Library (BCL) ADO.NET, LINQ and XML (Data Tier)ADO.NET, LINQ and XML (Data Tier) .NET Framework Architecture.NET Framework Architecture ((77)) WCF and WWF (Communication and Workflow Tier)WCF and WWF (Communication and Workflow Tier) ASP.NETASP.NET Web Forms, MVC, AJAXWeb Forms, MVC, AJAX Mobile Internet ToolkitMobile Internet Toolkit WindowsWindows FormsForms WPFWPF SilverlightSilverlight C#C# C++C++ VB.NETVB.NET J#J# F#F# JScriptJScript PerlPerl DelphiDelphi …… Programming language on your flavor!Programming language on your flavor!
  • 15. .NET Framework 4.0.NET Framework 4.0 15
  • 17. Common LanguageCommon Language RuntimeRuntime ((CLRCLR)) The Heart of .NET FrameworkThe Heart of .NET Framework
  • 18. Common Language RuntimeCommon Language Runtime ((CLRCLR))  Managed execution environmentManaged execution environment Controls the execution of managedControls the execution of managed ..NETNET programming codeprogramming code  Something like virtual machineSomething like virtual machine Like the Java Virtual Machine (JVM)Like the Java Virtual Machine (JVM)  Not an interpreterNot an interpreter Compilation on-demand is usedCompilation on-demand is used  Known asKnown as Just In Time (JIT) compilationJust In Time (JIT) compilation  Possible compilation in advance (Ngen)Possible compilation in advance (Ngen)
  • 19. ResponsibilitiesResponsibilities ofof CLRCLR  Execution of theExecution of the IL codeIL code andand the JITthe JIT compilationcompilation  Managing memory and application resourcesManaging memory and application resources  Ensuring type safetyEnsuring type safety  Interaction with the OSInteraction with the OS  Managing securityManaging security Code access securityCode access security Role-based securityRole-based security
  • 20. ResponsibilitiesResponsibilities ofof CLRCLR (2)(2)  Managing exceptionsManaging exceptions  Managing concurrencyManaging concurrency –– controlling thecontrolling the parallel execution of applicationparallel execution of application threadsthreads  Managing application domains and theirManaging application domains and their isolationisolation  Interaction with unmanaged codeInteraction with unmanaged code  SupportingSupporting debug /debug / profile of .NET codeprofile of .NET code
  • 21. CLR ArchitectureCLR Architecture Class LoaderClass Loader IL to NativeIL to Native JIT CompilerJIT Compiler CodeCode ManagerManager GarbageGarbage CollectorCollector Security EngineSecurity Engine Debug EngineDebug Engine Type CheckerType Checker Exception ManagerException Manager Thread SupportThread Support COM MarshalerCOM Marshaler Base Class Library SupportBase Class Library Support
  • 22. Managed andManaged and Unmanaged CodeUnmanaged Code What is the Difference?What is the Difference?
  • 23. Managed CodeManaged Code  CLR executed code is calledCLR executed code is called managed codemanaged code  Represents programming code in the low levelRepresents programming code in the low level languagelanguage MSILMSIL (MS Intermediate Language)(MS Intermediate Language)  Contains metadataContains metadata Description of classesDescription of classes,, interfacesinterfaces,, propertiesproperties,, fieldsfields,, methodsmethods,, parameters, etc.parameters, etc.  ProgramsPrograms,, written in anywritten in any .NET language are.NET language are Compiled to managed codeCompiled to managed code (MSIL)(MSIL) Packaged as assemblies (Packaged as assemblies (.exe.exe oror ..dlldll files)files)
  • 24. Managed CodeManaged Code (2)(2)  Object-orientedObject-oriented  SecureSecure  ReliableReliable Protected fromProtected from irregularirregular use of typesuse of types ((type-safe)type-safe)  Allows integration between components andAllows integration between components and data types of different programmingdata types of different programming languageslanguages  Portable between different platformsPortable between different platforms Windows, Linux, Max OS X, etc.Windows, Linux, Max OS X, etc.
  • 25. Unmanaged (Win32) CodeUnmanaged (Win32) Code  No protection of memory and type-safetyNo protection of memory and type-safety Reliability problemsReliability problems Safety problemsSafety problems  Doesn’t contain metadataDoesn’t contain metadata Needs additional overhead like (e.g. use COM)Needs additional overhead like (e.g. use COM)  Compiled to machine-dependent codeCompiled to machine-dependent code Need of different versions for differentNeed of different versions for different platformsplatforms Hard to be ported to other platformsHard to be ported to other platforms
  • 26. Memory ManagementMemory Management  CLR manages memory automaticallyCLR manages memory automatically Dynamically loadedDynamically loaded objects are stored in theobjects are stored in the managed heapmanaged heap Unusable objects are automatically cleaned upUnusable objects are automatically cleaned up by theby the garbage collectorgarbage collector  Some of the big problems are solvedSome of the big problems are solved Memory leaksMemory leaks Access to freed or unallocated memoryAccess to freed or unallocated memory  Objects are accessed through a referenceObjects are accessed through a reference
  • 28. Intermediate LanguageIntermediate Language ((MSILMSIL,, ILIL,, CIL)CIL)  Low level languageLow level language ((machine languagemachine language)) for thefor the .NET CLR.NET CLR  Has independent set of CPU instructionsHas independent set of CPU instructions Loading and storing data, calling methodsLoading and storing data, calling methods Arithmetic and logical operationsArithmetic and logical operations Exception handlingException handling Etc.Etc.  MSIL is converted to instructions for theMSIL is converted to instructions for the current physical CPU by the JIT compilercurrent physical CPU by the JIT compiler
  • 29. SampleSample MSIL ProgramMSIL Program .method private hidebysig static void Main() cil managed.method private hidebysig static void Main() cil managed {{ .entrypoint.entrypoint // Code size 11 (0xb)// Code size 11 (0xb) .maxstack 8.maxstack 8 ldstr "Hello, world!"ldstr "Hello, world!" call voidcall void [mscorlib]System.Console::WriteLine(string)[mscorlib]System.Console::WriteLine(string) retret } // end of method HelloWorld::Main} // end of method HelloWorld::Main
  • 30. Compilation and ExecutionCompilation and Execution CompilationCompilation ExecutionExecution JITJIT compilercompiler MachineMachine codecode MSILMSIL CodeCode MetadataMetadata SourceSource codecode LanguageLanguage compilercompiler AssemblyAssembly (.EXE or(.EXE or .DLL file).DLL file) When givenWhen given method is calledmethod is called for the first timefor the first time Pre-compilationPre-compilation during theduring the install (NGEN)install (NGEN)
  • 31. .NET Applications.NET Applications Assemblies, Metadata and ApplicationsAssemblies, Metadata and Applications
  • 32. .NET Assemblies.NET Assemblies  .NET assemblies:.NET assemblies: Self-containing .NET componentsSelf-containing .NET components  Stored in .DLL and .EXE filesStored in .DLL and .EXE files Contain list of classes, types and resourcesContain list of classes, types and resources Smallest deployment unit in CLRSmallest deployment unit in CLR Have unique version numberHave unique version number  .NET deployment model.NET deployment model No version conflicts (forget the "DLL hell")No version conflicts (forget the "DLL hell") Supports side-by-side execution of differentSupports side-by-side execution of different versions of the same assemblyversions of the same assembly
  • 33. Metadata in the AssembliesMetadata in the Assemblies  Metadata in the .NET assembliesMetadata in the .NET assemblies Data about data contained in the assemblyData about data contained in the assembly Integral part of the assemblyIntegral part of the assembly Generated by the .NET languages compilerGenerated by the .NET languages compiler Describes all classes, their class members,Describes all classes, their class members, versions, resources, etc.versions, resources, etc.
  • 34. Metadata in AssembliesMetadata in Assemblies Type DescriptionType Description Assembly DescriptionAssembly Description Classes, interfaces, inner types, base classes, implemented interfaces, member fields, properties, methods, method parameters, return value, attributes, etc. Dependencies on other assembliesDependencies on other assemblies SecuritySecurity permissionspermissions Exported typesExported types Dependencies on other assembliesDependencies on other assemblies SecuritySecurity permissionspermissions Exported typesExported types [digital[digital signature]signature] [digital[digital signature]signature] NameName VersionVersion LocalizationLocalization NameName VersionVersion LocalizationLocalization
  • 35. ..NETNET ApplicationsApplications  Configurable executable .NET unitsConfigurable executable .NET units  Consist of one or more assembliesConsist of one or more assemblies  Installed by "copy / paste"Installed by "copy / paste" No complex registration of componentsNo complex registration of components  Different applications use different versions ofDifferent applications use different versions of common assembliescommon assemblies No conflicts due to their "strong name"No conflicts due to their "strong name"  Easy installationEasy installation,, un-installation and updateun-installation and update
  • 36. Common Type System (CTS)Common Type System (CTS)  CTS defines the CLRCTS defines the CLR supported types ofsupported types of data and the operations over themdata and the operations over them  Ensures data level compatibility betweenEnsures data level compatibility between different .NETdifferent .NET languageslanguages E.g.E.g. stringstring inin C#C# is the same likeis the same like StringString inin VB.NETVB.NET and inand in J#J#  Value types and reference typesValue types and reference types  All types derive fromAll types derive from System.ObjectSystem.Object
  • 37. The .NET LanguagesThe .NET Languages C#,VB.NET, C++, J#, etc.C#,VB.NET, C++, J#, etc.
  • 38. ..NET LanguagesNET Languages  .NET languages by Microsoft.NET languages by Microsoft C#, VB.NET, Managed C++, J#, F#,C#, VB.NET, Managed C++, J#, F#, JScriptJScript  .NET languages.NET languages by third partiesby third parties Object Pascal, Perl, Python, COBOL, Haskell,Object Pascal, Perl, Python, COBOL, Haskell, Oberon, Scheme, Smalltalk…Oberon, Scheme, Smalltalk…  Different languages can be mixed in a singleDifferent languages can be mixed in a single applicationapplication  Cross-language inheritance of types andCross-language inheritance of types and exception handlingexception handling
  • 39. C# LanguageC# Language  C# is mixture between C++, Java and DelphiC# is mixture between C++, Java and Delphi  Fully object-oriented by designFully object-oriented by design  Component-oriented programming modelComponent-oriented programming model  ComponentsComponents,, properties and eventsproperties and events  No header files like C/C++No header files like C/C++  Suitable forSuitable for GUIGUI andand WebWeb applicationsapplications  XML based documentationXML based documentation  InIn C# all data types are objectsC# all data types are objects  Example:Example: 5.ToString()5.ToString() is a valid callis a valid call
  • 40. C# Language – ExampleC# Language – Example  C# is standardized byC# is standardized by ECMA and ISOECMA and ISO  Example of C# program:Example of C# program: using System;using System; class NumbersFrom1to100class NumbersFrom1to100 {{ static void Main()static void Main() {{ for (int i=1; i<=100; i++)for (int i=1; i<=100; i++) {{ Console.WriteLine(i);Console.WriteLine(i); }} }} }}
  • 41. Framework ClassFramework Class Library (FCL)Library (FCL) Standard Out-of-the-box .NET APIsStandard Out-of-the-box .NET APIs
  • 42. Framework Class Library (FCL)Framework Class Library (FCL)  Framework Class Library is the standardFramework Class Library is the standard .NET Framework library of out-of-the-box.NET Framework library of out-of-the-box reusable classes and components (APIs)reusable classes and components (APIs) Base Class Library (BCL)Base Class Library (BCL) ADO.NET, LINQ and XML (Data Tier)ADO.NET, LINQ and XML (Data Tier) WCF and WWF (Communication and Workflow Tier)WCF and WWF (Communication and Workflow Tier) ASP.NETASP.NET Web Forms, MVC, AJAXWeb Forms, MVC, AJAX Mobile Internet ToolkitMobile Internet Toolkit WindowsWindows FormsForms WPFWPF SilverlightSilverlight
  • 43. FCL NamespacesFCL Namespaces ADO.NET, LINQ and XML (Data Tier)ADO.NET, LINQ and XML (Data Tier) WCF and WWF (Communication and Workflow Tier)WCF and WWF (Communication and Workflow Tier) ASP.NETASP.NET Web Forms, MVC, AJAXWeb Forms, MVC, AJAX Mobile Internet ToolkitMobile Internet Toolkit WindowsWindows FormsForms WPF & SilverlightWPF & Silverlight System.WebSystem.WebSystem.WebSystem.Web System.Web.MvcSystem.Web.MvcSystem.Web.MvcSystem.Web.Mvc System.WindowsSystem.Windows .Forms.Forms System.WindowsSystem.Windows .Forms.Forms System.DrawingSystem.DrawingSystem.DrawingSystem.Drawing System.WindowsSystem.WindowsSystem.WindowsSystem.Windows System.Windows.MediaSystem.Windows.MediaSystem.Windows.MediaSystem.Windows.Media System.Windows.MarkupSystem.Windows.MarkupSystem.Windows.MarkupSystem.Windows.Markup System.ServiceModelSystem.ServiceModelSystem.ServiceModelSystem.ServiceModel System.ActivitiesSystem.ActivitiesSystem.ActivitiesSystem.Activities System.WorkflowSystem.WorkflowSystem.WorkflowSystem.Workflow System.DataSystem.DataSystem.DataSystem.Data System.LinqSystem.LinqSystem.LinqSystem.Linq System.Data.LinqSystem.Data.LinqSystem.Data.LinqSystem.Data.Linq System.XmlSystem.XmlSystem.XmlSystem.Xml System.Xml.LinqSystem.Xml.LinqSystem.Xml.LinqSystem.Xml.Linq System.Data.EntitySystem.Data.EntitySystem.Data.EntitySystem.Data.Entity
  • 44. Visual Studio IDEVisual Studio IDE Powerful Development Environment for .NETPowerful Development Environment for .NET
  • 45. Visual StudioVisual Studio  Visual Studio is powerful IntegratedVisual Studio is powerful Integrated Development Environment (IDE) for .NETDevelopment Environment (IDE) for .NET DevelopersDevelopers Create, edit, compile and run .NET applicationsCreate, edit, compile and run .NET applications Different languagesDifferent languages –– C#, CC#, C++,++, VB.NET,VB.NET, J#, …J#, … FlexibleFlexible code editorcode editor PowerfulPowerful debuggerdebugger Integrated with SQL ServerIntegrated with SQL Server andand IISIIS Strong support of Web services, WCF and WWFStrong support of Web services, WCF and WWF
  • 46. Visual StudioVisual Studio (2)(2)  Visual programmingVisual programming Component-orientedComponent-oriented,, event basedevent based  Managed and unmanaged codeManaged and unmanaged code  Helpful wizards and editorsHelpful wizards and editors Windows Forms DesignerWindows Forms Designer WCF / Silverlight DesignerWCF / Silverlight Designer ASP.NET Web Forms DesignerASP.NET Web Forms Designer ADO.NET / LINQ-to-SQL / XML Data DesignerADO.NET / LINQ-to-SQL / XML Data Designer  Many third party extensionsMany third party extensions
  • 48. .NET Framework Overview.NET Framework Overview Questions?Questions? http://aspnetcourse.telerik.com

Editor's Notes

  1. Metadata  Information about program structure is language-agnostic, so that it can be referenced between languages and tools, making it easy to work with code written in a language you are not using. .NET metadata, in the Microsoft .NET framework, refers to code that describes .NET CIL (Common Intermediate Language) code. A .NET language compiler will generate the metadata and store this in the assembly containing the CIL. Metadata describes all classes and class members that are defined in the assembly, and the classes and class members that the current assembly will call from another assembly. The metadata for a method contains the complete description of the method, including the class (and the assembly that contains the class), the return type and all of the method parameters. When the CLR executes CIL it will check to make sure that the metadata of the called method is the same as the metadata that is stored in the calling method. This ensures that a method can only be called with exactly the right number of parameters and exactly the right parameter types.