How are assemblies resolved in .NET. I mean, how is an assembly with a fully qualified name resolved. I am confused about the public/private key tokens and strong naming. Th
Assemblys resolving can involve a number of steps, depending on where the assembly it is trying to load is (GAC, application base folder, sub folders, or another folder away from your base application folder).
This is a good article about how you can specify where .Net looks for your assemblies. MSDN Article
If you want the runtime to resolve an assembly that is not stored in your application base folder or the GAC then you will need to register for the AppDomain event which is raised when it can't find the assembly. You would then react on that event by checking if the file exists in your other location and then return it using Assembly.LoadFrom(thePath).
Just to add to this answer further is this cracking link that should sum up the whole strong naming with keys very nicely for you: Strong Naming - keys etc..
Any questions from this, just ask!