How many types of assemblies are there?
Private, Public/Shared, Satellite. A private assembly is normally used by a one application, and is stored in the application's directory. A shared assembly is normally keeps in the global assembly cache, which is a repository of assemblies maintained by the .NET runtime.