There are two types of assembly
Private assembly :- A private assembly is normally used
by a single application, and is stored in the application's directory, or a sub-directory beneath.
Shared assembly :- A shared assembly is normally stored in the global assembly cache, which is a repository of assemblies
maintained by the .NET runtime.