Namespace or Assembly?

user3125433 picture user3125433 · Feb 3, 2014 · Viewed 41.2k times · Source

I am getting very confused between Namespaces and Assemblies. Are System.Data and System.Web Namespaces or Assemblies?

I have noticed these are called namespaces and at the same time they are present in GAC_32 folder. So what exactly are they?

Answer

D Stanley picture D Stanley · Feb 3, 2014

System.Data is a namespace, System.Data.DLL (the file) is an assembly.

A namespace is a logical grouping of types (mostly to avoid name collisions). An assembly can contain types in multiple namespaces (System.DLL contains a few...), and a single namespace can be spread across assemblies (e.g. System.Threading).