I was trying to help a former coworker figure out why an assembly seemed to be missing when an application was copied from one computer to another, as the application directory usually contains all the assemblies it needs with it. As part of my research, I found this article which specifies ALL of the rules of how the .NET Runtime locates them.

I figured I would share, since a lot of people can get tripped up by this.