Parent Assembly Hint

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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 (Fully-specified)
LOG: Appbase = file:///d:/tools/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = loader.exe
Calling 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.