.Net Assembly is the smallest unit of deployment, security, versioning, and configuration. There are three major parts of a .Net assembly:
1. Manifest Info
2. Resources
3. Managed Modules

Manifest Info consists of information like (a) what types are there in this assembly? (b) Security information (c) Config info.
The .Net Assembly which has zero managed modules, will be called “Resource Assembly” instead of “Code Assembly”.
.Net Assembly is managed COM component. When deploying an assembly, there are three things involved:
1. Name of Assembly
2. Version of Assembly
3. Digital Signature of Assembly
Assembly with different versions, will be executed simultaneously which has resolved the problem of “DLL Hell”.