Identifying Code with Strong Names
Code must be uniquely identified to be shared. The Global Assembly Cache (GAC) does not support an assembly that does not have a strong name. You should seriously consider giving even your private assemblies a strong name that uniquely identifies your code. A strong name provides a unique identifier to a set of code that is statistically impossible to be duplicated. In other words, a strong name is a means of uniquely identifying this code as yours. A strong name is part of an AssemblyName that consists of four parts:
Name—Visual Studio assigns a name to an assembly that is the name of the output DLL, minus the DLL suffix. This name can be any name that you choose.
Publisher Key—The actual public key stored in ...