1) Assembly is a unit of deployment such as EXE or a DLL.2) An assembly consists one or more files (dlls, exe's, html files etc.),& represents a group of resources, type definitions,& implementations of those types. An assembly may also contains references to the other assemblies. These resources, types & references are all described in a block of data known as manifest. The manifest is the part of the assembly, and thus making the assembly self-describing.3) An assembly is completely self-explainable.An assembly contains information of metadata, which is used by the CLR for everything from the type checking and the security to actually invoking the components methods. since all information is in the assembly itself, is independent of registry. This is the most basic advantage as compared to COM where the version was stored in the registry.4) Multiple versions can deploy side by side in different folders. These all different versions can execute at the same time without interfering to one another. Assemblies can be divided into private or shared. For making private assembly deployment, the assembly is copied to the same directory as the client program that references it. Not any registration is needed, nor any fancy installation program is required. When the component is removed, no registry cleanup is required, and no uninstall of program is required. Just delete it from hard drive.5) In case of shared assembly deployment, an assembly is installed in the Global Assembly Cache (or GAC). The GAC contains shared assemblies that are globally accessible to all applications of .NET.Types of Assembly:We have two types of assemblies: Private and Public assembly. private assembly is normally used by single application, and is stored in the application's directory, or a sub-directory beneath. while shared assembly is normally stored in the global assembly cache, which is a repository of assemblies maintained by the .NET runtime. Shared assemblies are usually the libraries of code which many applications will find useful, e.g. Crystal report classes which will be used by all the application for Reports.