protected virtual void Dispose(bool bDisposing)
        {
            if (bDisposing)
              {
            // Free other state (managed objects).

            if (mpAssemblyResolver != null)
            {
              AppDomain.CurrentDomain.AssemblyResolve -= mpAssemblyResolver.ResolveAssembly;
              mpAssemblyResolver = null;
            }
              }
              // Free your own state (unmanaged objects).
              // Set large fields to null.
        }
 public void AddAssemblyProbe(string[] asExtraDirectories)
 {
     mpAssemblyResolver = new AssemblyResolver(asExtraDirectories);
       AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(mpAssemblyResolver.ResolveAssembly);
 }