What is the difference between a private assembly and a shared assembly?

· Location and visibility: A private assembly is normally used by a single application, and is stored in the application’s directory, or a subdirectory beneath. A shared assembly is normally stored in the global assembly cache, which is a repository of assemblies maintained by the

.NET runtime. Shared assemblies are usually libraries of code which many applications will find useful, e.g. the .NET framework classes.

·  Versioning: The runtime enforces versioning constraints only on shared assemblies, not on private assemblies.