AppDomainSetup.DisallowApplicationBaseProbing

AppDomainSetup.DisallowApplicationBaseProbing is a new property we introduced in .Net framework 2.0 to control assembly probing.

When this flag is set, the probing behavior is as following:

1. We will still probe GAC for strongly named assemblies
2. We will NOT probe application base, include privateBinPath if set.
3. For dependencies of Assembly.LoadFrom(), we will NOT probe application base, but we will probe the parent's directory.

Who is the client of this probing behavior?

If you know that none of your assemblies live in application base, and you only returns assemblies to CLR loader through AssemblyResolve event, then this is for you.

This is so that you can avoid the perf hit of probing when you are sure that your assemblies can't be found in application base.