2. Fundamental unit of deployment, version control, reuse, security permission for a .net based application. Logical unit of distribution Take form of .dll or .exe file Building block of .Net based Application Can consist of Single File or Multiple Files called modules A module may be generated from different languages. .Net Assembly
3. Assemblies are self-describing. Version dependencies are recorded inside assembly manifest. Assemblies can be loaded side-by-side. Installation can be as easy as copying the files that belong to an assembly. Assemblies can be private or shared. Features of Assemblies
5. Assembly Name Version Information Culture Strong Name Information List of files that make up an assembly Type Reference Information Referenced Assembly Information Assembly Metadata/Manifest
6. Contains information about the types declared and used in assembly. Classes, interfaces, structs, events , indexers that are used. All information about types i.e. methods, attributes, propertied. Type Metadata
7. JIT complier gets everything it needs from compiler Used in garbage collection Process .Net provides classes to read metadata (Reflection API) Features of Metadata
9. Code emitted by an appropriate .net language compiler e.g. csc (C# Compiler). MSIL is shipped in portable executable (PE) units. Later JIT compiled to Native Code. Full IL code can be compiled to Native Code using NGEN.exe CIL/MSIL Code