.Netframework
-
Upload
shareb-ismaeel -
Category
Education
-
view
45 -
download
3
Transcript of .Netframework
![Page 1: .Netframework](https://reader035.fdocuments.in/reader035/viewer/2022070510/58ac003d1a28abb6718b572d/html5/thumbnails/1.jpg)
..NET NET FRAMEWORKFRAMEWORK
SHABEER ISMAEEL ANDISHFAQ MAJIDMSC IT III SEMESTERDEPT. OF INFORMATION TECHNOLOGY
![Page 2: .Netframework](https://reader035.fdocuments.in/reader035/viewer/2022070510/58ac003d1a28abb6718b572d/html5/thumbnails/2.jpg)
CONTENTSCONTENTS
INTRODUCTIONINTRODUCTIONOBJECTIVESOBJECTIVESCOMPONENTSCOMPONENTSREFERENCESREFERENCES
![Page 3: .Netframework](https://reader035.fdocuments.in/reader035/viewer/2022070510/58ac003d1a28abb6718b572d/html5/thumbnails/3.jpg)
INTRODUCTIONINTRODUCTION
٭ MICROSOFT .NET (PRONOUNCED “DOT NET”) IS A SOFTWARE MICROSOFT .NET (PRONOUNCED “DOT NET”) IS A SOFTWARE
COMPONENT THAT RUNS ON THE COMPONENT THAT RUNS ON THE WINDOWS OPERATING SYSTEMWINDOWS OPERATING SYSTEM. .
٭ MICROSOFT .NET IS A FRAMEWORK WHICH PROVIDES A COMMON MICROSOFT .NET IS A FRAMEWORK WHICH PROVIDES A COMMON
PLATFORM TO EXECUTE OR, RUN THE APPLICATIONS DEVELOPED IN PLATFORM TO EXECUTE OR, RUN THE APPLICATIONS DEVELOPED IN
VARIOUS PROGRAMMING LANGUAGES (VARIOUS PROGRAMMING LANGUAGES (VISUAL BASIC, VISUAL C#, AND
VISUAL C++ ).).
٭ MICROSOFT ANNOUNCED THE .NET INITIATIVE IN JULY 2000.MICROSOFT ANNOUNCED THE .NET INITIATIVE IN JULY 2000.
٭ THE MAIN INTENTION WAS TO BRIDGE THE GAP IN THE MAIN INTENTION WAS TO BRIDGE THE GAP IN INTEROPERABILITYINTEROPERABILITY
BETWEEN SERVICES OF VARIOUS PROGRAMMING LANGUAGES.BETWEEN SERVICES OF VARIOUS PROGRAMMING LANGUAGES.
![Page 4: .Netframework](https://reader035.fdocuments.in/reader035/viewer/2022070510/58ac003d1a28abb6718b572d/html5/thumbnails/4.jpg)
OBJECTIVESOBJECTIVES----THE .NET FRAMEWORK IS DESIGNED TO FULFILL ----THE .NET FRAMEWORK IS DESIGNED TO FULFILL THE FOLLOWING OBJECTIVES: THE FOLLOWING OBJECTIVES:
• PROVIDE OBJECT-ORIENTED PROGRAMMING PROVIDE OBJECT-ORIENTED PROGRAMMING ENVIRONMENT ENVIRONMENT
• PROVIDE ENVIRONMENT FOR DEVELOPING VARIOUS PROVIDE ENVIRONMENT FOR DEVELOPING VARIOUS TYPES OF APPLICATIONS, SUCH AS WINDOWS-BASED TYPES OF APPLICATIONS, SUCH AS WINDOWS-BASED APPLICATIONS AND WEB-BASED APPLICATIONSAPPLICATIONS AND WEB-BASED APPLICATIONS
• TO ENSURE THAT CODE BASED ON THE .NET TO ENSURE THAT CODE BASED ON THE .NET FRAMEWORK CAN INTEGRATE WITH ANY OTHER CODEFRAMEWORK CAN INTEGRATE WITH ANY OTHER CODE
![Page 5: .Netframework](https://reader035.fdocuments.in/reader035/viewer/2022070510/58ac003d1a28abb6718b572d/html5/thumbnails/5.jpg)
.NET ARCHITECTURE.NET ARCHITECTURE
![Page 6: .Netframework](https://reader035.fdocuments.in/reader035/viewer/2022070510/58ac003d1a28abb6718b572d/html5/thumbnails/6.jpg)
COMPONENTS OF .NET COMPONENTS OF .NET ARCHITECTUREARCHITECTURE
---MICROSOFT .NET CONSISTS OF FOUR MAJOR ---MICROSOFT .NET CONSISTS OF FOUR MAJOR
COMPONENTS:COMPONENTS:
COMMON LANGUAGE SPECIFICATION (CLS) COMMON LANGUAGE SPECIFICATION (CLS) – – BLUE IN THE BLUE IN THE٭
DIAGRAMDIAGRAM
FRAMEWORK CLASS LIBRARY (FCL)FRAMEWORK CLASS LIBRARY (FCL) – – REDRED٭
COMMON LANGUAGE RUNTIME (CLR) COMMON LANGUAGE RUNTIME (CLR) – – GREENGREEN٭
NET TOOLS .NET TOOLS – – YELLOWYELLOW.٭
![Page 7: .Netframework](https://reader035.fdocuments.in/reader035/viewer/2022070510/58ac003d1a28abb6718b572d/html5/thumbnails/7.jpg)
COMMON TYPE SYSTEM (CTS)
COMMON TYPE SYSTEM (CTS) DESCRIBES A SET OF TYPES THAT CAN BE USED IN DIFFERENT .NET LANGUAGES IN COMMON . THAT IS , THE COMMON TYPE SYSTEM (CTS) ENSURE THAT OBJECTS WRITTEN IN DIFFERENT .NET LANGUAGES CAN INTERACT WITH EACH OTHER.
COMMON TYPE SYSTEM (CTS) PROVIDES BASE SET OF DATA TYPES (SUCH AS BOOLEAN, BYTE, CHAR, INT32, AND UINT64) WHICH IS RESPONSIBLE FOR CROSS LANGUAGE INTEGRATION. THE COMMON LANGUAGE RUNTIME (CLR) CAN LOAD AND EXECUTE THE SOURCE CODE WRITTEN IN ANY .NET LANGUAGE, ONLY IF THE TYPE IS DESCRIBED IN THE COMMON TYPE SYSTEM (CTS) .
---TO IMPLEMENT OR SEE HOW CTS IS CONVERTING THE DATA TYPE TO A COMMON DATA TYPE, FOR EXAMPLE, WHEN WE DECLARE AN INT TYPE DATA TYPE IN C# AND VB.NET THEN THEY ARE CONVERTED TO INT32. IN OTHER WORDS, NOW BOTH WILL HAVE A COMMON DATA TYPE THAT PROVIDES FLEXIBLE COMMUNICATION BETWEEN THESE TWO LANGUAGES.
![Page 8: .Netframework](https://reader035.fdocuments.in/reader035/viewer/2022070510/58ac003d1a28abb6718b572d/html5/thumbnails/8.jpg)
COMMON LANGUAGE SPECIFICATIONCOMMON LANGUAGE SPECIFICATION (CLS) (CLS)
------PERFORMS THE FOLLOWING FUNCTIONS:PERFORMS THE FOLLOWING FUNCTIONS:
IT ESTABLISHES A FRAMEWORK THAT HELPS ENABLE CROSS-LANGUAGE IT ESTABLISHES A FRAMEWORK THAT HELPS ENABLE CROSS-LANGUAGE
INTEGRATION, TYPE SAFETY, AND HIGH PERFORMANCE CODE EXECUTION.INTEGRATION, TYPE SAFETY, AND HIGH PERFORMANCE CODE EXECUTION.
IT PROVIDES AN OBJECT-ORIENTED MODEL THAT SUPPORTS THE COMPLETE IT PROVIDES AN OBJECT-ORIENTED MODEL THAT SUPPORTS THE COMPLETE
IMPLEMENTATION OF MANY PROGRAMMING LANGUAGES.IMPLEMENTATION OF MANY PROGRAMMING LANGUAGES.
IT DEFINES RULES THAT LANGUAGES MUST FOLLOW, WHICH HELPS ENSURE THAT IT DEFINES RULES THAT LANGUAGES MUST FOLLOW, WHICH HELPS ENSURE THAT
OBJECTS WRITTEN IN DIFFERENT LANGUAGES CAN INTERACT WITH EACH OTHER.OBJECTS WRITTEN IN DIFFERENT LANGUAGES CAN INTERACT WITH EACH OTHER.
![Page 9: .Netframework](https://reader035.fdocuments.in/reader035/viewer/2022070510/58ac003d1a28abb6718b572d/html5/thumbnails/9.jpg)
COMMON LANGUAGE SPECIFICATION COMMON LANGUAGE SPECIFICATION (CLS)(CLS)
![Page 10: .Netframework](https://reader035.fdocuments.in/reader035/viewer/2022070510/58ac003d1a28abb6718b572d/html5/thumbnails/10.jpg)
FRAMEWORK CLASS LIBRARYFRAMEWORK CLASS LIBRARY (FCL) (FCL)
٭ THE FCL IS A COLLECTION OF OVER 7000 CLASSES AND DATA TYPES THAT THE FCL IS A COLLECTION OF OVER 7000 CLASSES AND DATA TYPES THAT
ENABLE .NET APPLICATIONS TO READ AND WRITE FILES, ACCESS DATABASES, ENABLE .NET APPLICATIONS TO READ AND WRITE FILES, ACCESS DATABASES,
PROCESS XML, DISPLAY A GRAPHICAL USER INTERFACE, DRAW GRAPHICS, USE PROCESS XML, DISPLAY A GRAPHICAL USER INTERFACE, DRAW GRAPHICS, USE
WEB SERVICES, ETC. WEB SERVICES, ETC.
٭ THE FCL WRAPS MUCH OF THE MASSIVE, COMPLEX WIN32 API INTO MORE THE FCL WRAPS MUCH OF THE MASSIVE, COMPLEX WIN32 API INTO MORE
SIMPLE .NET OBJECTS THAT CAN BE USED BY C# AND OTHER .NET PROGRAMMING SIMPLE .NET OBJECTS THAT CAN BE USED BY C# AND OTHER .NET PROGRAMMING
LANGUAGES.LANGUAGES.
![Page 11: .Netframework](https://reader035.fdocuments.in/reader035/viewer/2022070510/58ac003d1a28abb6718b572d/html5/thumbnails/11.jpg)
FRAMEWORK CLASS LIBRARYFRAMEWORK CLASS LIBRARY
![Page 12: .Netframework](https://reader035.fdocuments.in/reader035/viewer/2022070510/58ac003d1a28abb6718b572d/html5/thumbnails/12.jpg)
COMMON LANGUAGE RUNTIME COMMON LANGUAGE RUNTIME (CLR)(CLR)
٭ THE CLR IS THE THE CLR IS THE COMMON COMMON EXECUTION ENGINE FOR .NET APPLICATIONS EXECUTION ENGINE FOR .NET APPLICATIONS
AND SERVES AS THE INTERFACE BETWEEN .NET APPLICATIONS AND AND SERVES AS THE INTERFACE BETWEEN .NET APPLICATIONS AND
THE OPERATING SYSTEM. THE OPERATING SYSTEM.
٭ THE CLR PROVIDES MANY SERVICES SUCH AS:THE CLR PROVIDES MANY SERVICES SUCH AS:
LOADS AND EXECUTES CODE.LOADS AND EXECUTES CODE.
CONVERTS INTERMEDIATE LANGUAGE TO NATIVE MACHINE CODE.CONVERTS INTERMEDIATE LANGUAGE TO NATIVE MACHINE CODE.
AUTOMATIC MEMORY MANAGEMENT.AUTOMATIC MEMORY MANAGEMENT.
MANAGES MEMORY AND OBJECTS.MANAGES MEMORY AND OBJECTS.
![Page 13: .Netframework](https://reader035.fdocuments.in/reader035/viewer/2022070510/58ac003d1a28abb6718b572d/html5/thumbnails/13.jpg)
CONTINUE…CONTINUE…
CODE ACCESS SECURITY.CODE ACCESS SECURITY.
HANDLES EXCEPTIONS.HANDLES EXCEPTIONS.
INTERFACES BETWEEN MANAGED CODE, INTERFACES BETWEEN MANAGED CODE,
COM(COMPONENT OBJECT MODEL) OBJECTS, AND COM(COMPONENT OBJECT MODEL) OBJECTS, AND
DLLS.DLLS.
PROVIDES TYPE-CHECKING.PROVIDES TYPE-CHECKING.
PROVIDES PROFILING, DEBUGGING, ETC.PROVIDES PROFILING, DEBUGGING, ETC.
![Page 14: .Netframework](https://reader035.fdocuments.in/reader035/viewer/2022070510/58ac003d1a28abb6718b572d/html5/thumbnails/14.jpg)
EXECUTION IN CLREXECUTION IN CLR
Common Language RuntimeCommon Language Runtime
VBVBSource Source codecode
CompilerCompiler
C++C++C#C#
AssemblyAssemblyIL CodeIL Code
JIT CompilerJIT Compiler
ManagedManagedcodecode
Native CodeNative Code
CompilerCompiler CompilerCompiler
AssemblyAssemblyIL CodeIL Code
AssemblyAssemblyIL CodeIL Code
Operating System ServicesOperating System Services
![Page 15: .Netframework](https://reader035.fdocuments.in/reader035/viewer/2022070510/58ac003d1a28abb6718b572d/html5/thumbnails/15.jpg)
INTERMEDIATE LANGUAGE INTERMEDIATE LANGUAGE (IL)(IL)
INTERMEDIATE LANGUAGE IS ALSO KNOWN AS MSIL (MICROSOFT INTERMEDIATE LANGUAGE) OR CIL (COMMON INTERMEDIATE LANGUAGE).
ALL .NET SOURCE CODE IS COMPILED TO IL. IL IS THEN CONVERTED TO MACHINE CODE AT RUN-TIME BY A JUST-IN-TIME (JIT) COMPILER.
THE RECOMPILATION IS JUST-IN-TIME (JIT) MEANING IT IS THE RECOMPILATION IS JUST-IN-TIME (JIT) MEANING IT IS DONE AS SOON AS A FUNCTION OR SUBROUTINE IS CALLED.DONE AS SOON AS A FUNCTION OR SUBROUTINE IS CALLED.
![Page 16: .Netframework](https://reader035.fdocuments.in/reader035/viewer/2022070510/58ac003d1a28abb6718b572d/html5/thumbnails/16.jpg)
MANAGED VS UNMANAGED CODE
MANAGED CODE MANAGED CODE IS THE CODE THAT IS
EXECUTED DIRECTLY BY THE CLR INSTEAD OF THE OPERATING SYSTEM.
THE CODE COMPILER FIRST COMPILES THE MANAGED CODE TO INTERMEDIATE LANGUAGE (IL) CODE.
THIS CODE DOESN'T DEPEND ON MACHINE CONFIGURATIONS AND CAN BE EXECUTED ON DIFFERENT MACHINES.
IN THE MANAGED CODE, SINCE THE EXECUTION OF THE CODE IS GOVERNED BY CLR, THE RUNTIME PROVIDESDIFFERENT SERVICES, SUCH AS GARBAGE COLLECTION, TYPE CHECKING, EXCEPTION HANDLING, AND SECURITYSUPPORT.
UNMANAGED CODE UNMANAGED CODE IS THE CODE THAT IS
EXECUTED DIRECTLY BY THE OPERATING SYSTEM OUTSIDE THE CLRENVIRONMENT.
IT IS DIRECTLY COMPILED TO NATIVE MACHINE CODE WHICH DEPENDS ON THE MACHINE CONFIGURATION.
IN THE UNMANAGED CODE, THE ALLOCATION OF MEMORY, TYPE SAFETY,AND SECURITY IS REQUIRED TO BE TAKEN CARE OF BY THE DEVELOPER. IF THE UNMANAGED CODE IS NOTPROPERLY HANDLED, IT MAY RESULT IN MEMORY LEAK.
![Page 17: .Netframework](https://reader035.fdocuments.in/reader035/viewer/2022070510/58ac003d1a28abb6718b572d/html5/thumbnails/17.jpg)
----A PIECE OF MANAGED CODE IS EXECUTED AS FOLLOWS:
CHOOSING A LANGUAGE COMPILER COMPILING THE CODE TO MSIL COMPILING MSIL TO NATIVE CODE EXECUTING THE CODE.
![Page 18: .Netframework](https://reader035.fdocuments.in/reader035/viewer/2022070510/58ac003d1a28abb6718b572d/html5/thumbnails/18.jpg)
JIT COMPILER
THE JIT COMPILER IS AN IMPORTANT ELEMENT OF CLR, WHICH LOADS MSIL ON TARGET MACHINES FOR EXECUTION.
THE MSIL IS STORED IN .NET ASSEMBLIES AFTER THE DEVELOPER HAS COMPILED THE CODE WRITTEN IN ANY .NET-COMPLIANT PROGRAMMING LANGUAGE, SUCH AS VISUAL BASIC AND C#.
JIT COMPILER TRANSLATES THE MSIL CODE OF AN ASSEMBLY (LIKE DLL) AND USES THE CPU ARCHITECTURE OF THE TARGET MACHINE TO EXECUTE A .NET APPLICATION.
JIT COMPILER ALSO ENFORCES TYPE-SAFETY IN RUNTIME ENVIRONMENT OF .NET FRAMEWORK. IT CHECKS FOR THE VALUES THAT ARE PASSED TO PARAMETERS OF ANY METHOD.
---FOR EXAMPLE, THE JIT COMPILER DETECTS ANY EVENT, IF A USER TRIES TO ASSIGN A 32-BIT VALUE TO A PARAMETER THAT CAN ONLY ACCEPT 8-BIT VALUE.
![Page 19: .Netframework](https://reader035.fdocuments.in/reader035/viewer/2022070510/58ac003d1a28abb6718b572d/html5/thumbnails/19.jpg)
.NET ASSEMBLY
THE .NET ASSEMBLY IS THE STANDARD FOR COMPONENTS DEVELOPED WITH THE MICROSOFT.NET.
ASSEMBLIES ARE THE BUILDING BLOCKS OF .NET FRAMEWORK APPLICATIONS.
DOT NET ASSEMBLIES MAY OR MAY NOT BE EXECUTABLE, I.E., THEY MIGHT EXIST AS THE EXECUTABLE (.EXE) FILE OR DYNAMIC LINK LIBRARY (DLL) FILE.
DURING THE COMPILE TIME METADATA IS CREATED WITH MICROSOFT INTERMEDIATE LANGUAGE (MSIL) AND STORED IN A FILE CALLED ASSEMBLY MANIFEST . ASSEMBLY MANIFEST CONTAINS INFORMATION ABOUT ITSELF AND ABOUT THE MEMBERS, TYPES, REFERENCES AND ALL THE OTHER DATA THAT THE RUNTIME NEEDS FOR EXECUTION.
----THERE ARE TWO KIND OF ASSEMBLIES IN .NET• PRIVATE
• SHARED
![Page 20: .Netframework](https://reader035.fdocuments.in/reader035/viewer/2022070510/58ac003d1a28abb6718b572d/html5/thumbnails/20.jpg)
PRIVATE ASSEMBLY
A PRIVATE ASSEMBLY IS USED ONLY BY A SINGLE APPLICATION, AND USUALLY IT IS STORED IN THAT APPLICATION'S INSTALL DIRECTORY.
SHARED ASSEMBLYA SHARED ASSEMBLY IS ONE
THAT CAN BE REFERENCED BY MORE THAN ONE APPLICATION.
IF MULTIPLE APPLICATIONS NEED TO ACCESS AN ASSEMBLY, WE SHOULD ADD THE ASSEMBLY TO THE GLOBAL ASSEMBLY CACHE (GAC)
![Page 21: .Netframework](https://reader035.fdocuments.in/reader035/viewer/2022070510/58ac003d1a28abb6718b572d/html5/thumbnails/21.jpg)
.NET TOOLS.NET TOOLS
٭ VISUAL STUDIO .NETVISUAL STUDIO .NET IS MICROSOFT’S FLAGSHIP TOOL FOR DEVELOPING WINDOWS IS MICROSOFT’S FLAGSHIP TOOL FOR DEVELOPING WINDOWS
SOFTWARE. SOFTWARE.
٭ VISUAL STUDIO PROVIDES AN INTEGRATED DEVELOPMENT ENVIRONMENT (IDE) VISUAL STUDIO PROVIDES AN INTEGRATED DEVELOPMENT ENVIRONMENT (IDE)
FOR DEVELOPERS TO CREATE STANDALONE WINDOWS APPLICATIONS, FOR DEVELOPERS TO CREATE STANDALONE WINDOWS APPLICATIONS,
INTERACTIVE WEB SITES, WEB APPLICATIONS, AND WEB SERVICES RUNNING ON INTERACTIVE WEB SITES, WEB APPLICATIONS, AND WEB SERVICES RUNNING ON
ANY PLATFORM THAT SUPPORTS .NET.ANY PLATFORM THAT SUPPORTS .NET.
٭ IN ADDITION, THERE ARE MANY .NET FRAMEWORK TOOLS DESIGNED TO HELP IN ADDITION, THERE ARE MANY .NET FRAMEWORK TOOLS DESIGNED TO HELP
DEVELOPERS DEVELOPERS CREATE, CONFIGURE, DEPLOY, MANAGE AND SECURE .NET CREATE, CONFIGURE, DEPLOY, MANAGE AND SECURE .NET
APPLICATIONS AND COMPONENTS.APPLICATIONS AND COMPONENTS.
![Page 22: .Netframework](https://reader035.fdocuments.in/reader035/viewer/2022070510/58ac003d1a28abb6718b572d/html5/thumbnails/22.jpg)
REFERENCESREFERENCES
•WWW.SLIDESHARE.NET
![Page 23: .Netframework](https://reader035.fdocuments.in/reader035/viewer/2022070510/58ac003d1a28abb6718b572d/html5/thumbnails/23.jpg)