Se necesita conectar el evento AssemblyResolve cuando DisallowApplicationBaseProbing = true

Necesito conectar un evento AssemblyResolve en mi dominio de aplicación creado cuando haya configurado DisallowApplicationBaseProbing = true. La razón por la que hago esto es forzar el tiempo de ejecución para que llame al evento AssemblyResolve que necesita para resolver un ensamblaje, en lugar de probar primero. De esta manera, otro desarrollador no puede simplemente pegar MyDllName.dll en el directorio ApplicationBase y anular el ensamblaje que quería cargar en el evento AssemblyResolve.

El problema con hacer esto es el siguiente ...

  class Program
  {
 static void Main()
 {
    AppDomainSetup ads = new AppDomainSetup();
    ads.DisallowApplicationBaseProbing = true;
    AppDomain appDomain = AppDomain.CreateDomain("SomeDomain", null, ads);
    appDomain.AssemblyResolve += OnAssemblyResolve;
    appDomain.DoCallBack(target);
 }

 static System.Reflection.Assembly OnAssemblyResolve(object sender, ResolveEventArgs args)
 {
    Console.WriteLine("Hello");
    return null;

 }

 private static void target()
 {
    Console.WriteLine(AppDomain.CurrentDomain);
 }
  }

El código nunca pasa la línea + = OnAssemblyResolve.

Cuando el código intenta ejecutarse, el nuevo dominio de la aplicación intenta resolver el ensamblado en el que estoy ejecutando. Debido a que DisallowApplicationBaseProbing = true, no tiene idea de dónde encontrar este ensamblado. Tengo un problema de pollo y huevo, parece. Necesita resolver mi ensamblaje para conectar el resolutor del ensamblaje, pero necesita el resolvedor del ensamblaje para resolver mi ensamblaje.

Gracias por cualquier y toda la ayuda.

-Micro

Respuestas a la pregunta(1)

Su respuesta a la pregunta