Assembly
An Assembly is a logical unit of functionality that runs under the control of the .NET common language runtime (CLR). An assembly physically exists as a .dll file or as an .exe file.
An Assembly can contains one or many namespaces
Namespace
Namespaces are a way of grouping type names and reducing the chance of name collisions.