Assembly is primary building block of a application. Its is unit of deployment like DLL and EXE. Assembly is completely self-describing and its version able, reusable, self-describing deployment unit for types and resources.