180 likes | 308 Views
By Muhammad Ali. Using . NET Platform. Emerging Technologies. Note: Most of the material of these slides have been adapted from Nakov’s excellent overview for .NET framework, MSDN and wikipedia. Components of .NET. Main components Common Language Runtime (CLR) Base Class Library
E N D
By Muhammad Ali Using .NET Platform Emerging Technologies Note: Most of the material of these slides have been adapted from Nakov’s excellent overview for .NET framework, MSDN and wikipedia
Components of .NET • Main components • Common Language Runtime (CLR) • Base Class Library • Common Type System • Common Language Specification
Common Language Runtime • Foundation of the .NET Framework • An agent that manages code at • execution time, providing core services such as • Memory management • Thread management • JIT • Code Access Security & Role Base Security • Managed code • Code that targets the runtime • Represented by Intermediate Language (IL) • Unmanaged code • Code that does not target the runtime On the fly Installation Time
Intermediate Language • MSIL … or CIL • CLR compiles IL using JIT Compiler • Each function is compiled (to native code) just beforeexecution! • Recompilations of assemblies ~ Possible!
Base Class Library • Helps in accomplishing a range of common programming tasks, including • String management • Data collection • Database connectivity • File access
Base Class Library System Collections Security Configuration ServiceProcess Diagnostics Text Globalization Threading IO Runtime InteropServices Net Remoting Reflection Serialization Resources
Common Type System • Full Range of Types that CLR Understands • Defines how types are • declared, • used, • managed in the runtime
Common Language Specification • Subset of CTS • All Languages in .NET are expected to supportCTS • Any Benefits? • Cross Language Integration!
Code Source Code Language Compiler MSIL Metadata Native Code JIT Compiler Code Compilation and Execution Compilation Also called Assembly (.EXE or .DLL file) Before installation or the first time each method is called Execution
Assemblies • Types • Library Assembly (DLL) • Application Assembly (EXE) • Smallest deployable unit in the CLR • Have unique version number • No version conflicts (known as DLL hell) • Contains IL code to be executed
Assemblies • Security boundary • Permissions are granted at the assembly level • Type boundary • All types include the assembly name they are a part of • Self-describing manifest • Metadata that describes the types in the assembly
Metadata inAssemblies Type Descriptions Classes Base classes Implemented interfaces Data members Methods Assembly Description Name Version Culture Other assemblies Security Permissions Exported Types
Assemblies • More than One Assemblies… MayConflict! • Assemblies conflict resolution • Using metadata • Local • Shared(Global Assembly CacheorGAC) • Different applications may use different versions of an assembly • Easier software updates • Easier software removal
References • MSDN Library • http://msdn.microsoft.com/en-au/default.aspx • Nakov’s Excellent Presentation • http://www.nakov.com • WikiPedia • http://en.wikipedia.org/wiki/.NET_Framework