ResolveEventArgs.RequestingAssembly Propiedad

Definición

Obtiene el ensamblado cuya dependencia se resuelve.

public:
 property System::Reflection::Assembly ^ RequestingAssembly { System::Reflection::Assembly ^ get(); };
public System.Reflection.Assembly? RequestingAssembly { get; }
public System.Reflection.Assembly RequestingAssembly { get; }
member this.RequestingAssembly : System.Reflection.Assembly
Public ReadOnly Property RequestingAssembly As Assembly

Valor de propiedad

Ensamblado que solicitó el elemento especificado por la propiedad Name.

Comentarios

El ensamblado devuelto por esta propiedad es un ensamblado que no pudo resolver el elemento especificado por la Name propiedad , porque el elemento no existía en ese ensamblado, en ninguna de sus dependencias cargadas o en ninguna dependencia que el cargador pudiera encontrar a través del sondeo.

Por ejemplo, supongamos que el ensamblado actual usa el método para cargar el Assembly.LoadFile ensamblado A desde un directorio fuera de la ruta de acceso de sondeo, con el fin de usar la CA de clase. Supongamos que la ca de clase usa la clase CB, en el ensamblado B y que el ensamblado A tiene una referencia en tiempo de compilación al ensamblado B, que también se encuentra fuera de la ruta de acceso de sondeo. Cuando el ensamblado actual intenta crear una instancia de CA, el cargador intenta resolver la referencia al ensamblado B. Sin embargo, dado que el ensamblado A se cargó mediante el Assembly.LoadFile método , el cargador no puede resolver la dependencia. Si hay un controlador para el AppDomain.AssemblyResolve evento, se genera el evento y la RequestingAssembly propiedad del objeto resultante ResolveEventArgs contiene el ensamblado A, porque el ensamblado A es el ensamblado que falta una dependencia.

La semántica de la RequestingAssembly propiedad varía, en función de cómo se cargó el ensamblado solicitante:

  • Contexto de carga: el valor de la propiedad podría ser null. El contexto de carga es independiente del orden de carga y la identidad del ensamblado solicitante no es necesariamente significativa. Un ejemplo distinto de NULL se produce cuando se llama al Type.GetType método y el tipo especificado no se conoce al ensamblado solicitante ni a ninguna de sus dependencias.

  • Contexto de carga desde: la propiedad se puede usar como sugerencia de sondeo, pero el controlador de eventos no debe obtener más de una solicitud para un nombre de ensamblado determinado.

  • Ningún contexto (es decir, el ensamblado solicitante se cargó mediante el Assembly.LoadFile método , o como una secuencia de bytes o en modo mixto): el controlador puede usar la RequestingAssembly propiedad para cargar diferentes implementaciones del mismo ensamblado en función de la identidad del ensamblado solicitante.

Se aplica a

Consulte también