A Private assembly is an assembly which is available only for a specific application where they are kept.Shared application is a public application which is shared by multiple application.In order to share an assembly it must be built for the purpose by giving a cryptographically strong name while on the other end name of the private assembly must be unique.
Private assembly is used in a single application and no need to register in GACwhile shared assembly can be shared by multiple applications and need to register in GACwith strong name
private assembly means one assembly may use for multiplle applications.