Compartir a través de


IMetaDataAssemblyImport::FindAssembliesByName (Método)

Obtiene una matriz de ensamblados con el parámetro szAssemblyName especificado, utilizando las reglas estándar empleadas por Common Language Runtime (CLR) para la resolución de referencias.

HRESULT FindAssembliesByName (
    [in]  LPCWSTR     szAppBase, 
    [in]  LPCWSTR     szPrivateBin, 
    [in]  LPCWSTR     szAssemblyName, 
    [out] IUnknown    *ppIUnk[], 
    [in]  ULONG       cMax, 
    [out] ULONG       *pcAssemblies
);

Parámetros

  • szAppBase
    [in] Directorio raíz en el que se va a buscar el ensamblado especificado. Si este valor es null, FindAssembliesByName buscará el ensamblado sólo en la caché global de ensamblados.

  • szPrivateBin
    [in] Lista de subdirectorios delimitados por signos de punto y coma (por ejemplo, "bin;bin2"), bajo el directorio raíz, donde se va a buscar el ensamblado. Se buscará en estos directorios, además de los especificados en las reglas de búsqueda predeterminadas.

  • szAssemblyName
    [in] Nombre del ensamblado que se va a buscar. El formato de esta cadena se define en la página de referencia de clase para AssemblyName.

  • ppIUnk
    [in] Matriz de tipo IUnknown donde se van a colocar los punteros de la interfaz IMetadataAssemblyImport.

  • cMax
    [out] Número máximo de punteros de interfaz que se pueden colocar en ppIUnk.

  • pcAssemblies
    [out] Número de punteros de interfaz devueltos. Es decir, el número de punteros de interfaz realmente colocados en ppIUnk.

Valor devuelto

HRESULT

Descripción

S_OK

FindAssembliesByName finalizó correctamente.

S_FALSE

No hay ningún ensamblado.

Comentarios

Si se proporciona un nombre de ensamblado, el método FindAssembliesByName lo busca siguiendo las reglas estándar para resolver referencias de ensamblado. (Para obtener más información, vea Cómo el motor en tiempo de ejecución ubica ensamblados.) FindAssembliesByName permite al llamador configurar varios aspectos del contexto de resolución de ensamblados, como la base de la aplicación y la ruta de acceso de búsqueda privada.

El método FindAssembliesByName requiere la inicialización de CLR en el proceso para poder invocar la lógica de resolución de ensamblados. Por tanto, debe llamar a CoInitializeEE (pasando COINITEE_DEFAULT) antes que a FindAssembliesByName y, a continuación, llamar a CoUninitializeCor.

FindAssembliesByName devuelve un puntero de IMetaDataImport al archivo que contiene el manifiesto correspondiente al nombre de ensamblado que se pasa. Si no se especifica el nombre completo del ensamblado (por ejemplo, si no se incluye la versión) puede que se devuelvan varios ensamblados.

FindAssembliesByName suele ser utilizado por un compilador que intente buscar en tiempo de compilación un ensamblado al que se hace referencia.

Requisitos

Plataformas: vea Requisitos de sistema de .NET Framework.

Encabezado: Cor.h

Biblioteca: se usa como recurso en MsCorEE.dll

Versiones de .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

Vea también

Referencia

IMetaDataAssemblyImport (Interfaz)

Conceptos

Cómo el motor en tiempo de ejecución ubica ensamblados