Assemblies are the building blocks of .NET Framework applications;
They form the fundamental unit of deployment, version control, reuse, activation scoping, and security permissions.
An assembly is a collection of types and resources that are built to work together and form a logical unit of functionality.