An Assembly is a logical unit of code.Assembly physically exist as DLLs or EXEs.One assembly can contain one or more files,When you compile your source code by default the exe/dll generated is actually an "Assembly".Every assembly file contains information about itself. This information is called as "Assembly Manifest".