After the desired version has been determined by combining the information in the reference with that in the application configuration file, the AssemblyResolver attempts to find the assembly either in the AppBase (called probing) or at a codebase specified in the configuration file or through the current binding context.