When an assembly load is request, the assembly that requests the assembly load is called Parent Assembly Hint.
You can see the parent assembly hint from fusion binding log:
=== Pre-bind state information ===LOG: User = ...LOG: DisplayName = System, Version=220.127.116.11, Culture=neutral, PublicKeyToken=b77a5c561934e089 (Fully-specified)LOG: Appbase = file:///d:/tools/LOG: Initial PrivatePath = NULLLOG: Dynamic Base = NULLLOG: Cache Base = NULLLOG: AppName = loader.exeCalling assembly : loader, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.===
Parent Assembly Hint is only used only when the parent assembly is in LoadFrom context (Assemblies returned by Assembly.LoadFrom, or parent assembly is in LoadFrom context).
If the parent assembly is in LoadFrom, fusion will probe the assembly in the parent assembly’s directory, in addition to the application base.