Condividi tramite


IMetaDataAssemblyImport::FindAssembliesByName Method

Ottiene una matrice di assembly con il parametro specificato szAssemblyName , utilizzando le regole standard utilizzate da Common Language Runtime (CLR) per la risoluzione dei riferimenti.

Syntax

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

Parameters

szAppBase [in] Directory radice in cui cercare l'assembly specificato. Se questo valore è impostato su null, FindAssembliesByName cercherà solo nella Global Assembly Cache l'assembly.

szPrivateBin [in] Elenco di sottodirectory delimitate da punto e virgola , ad esempio "bin; bin2"), nella directory radice in cui cercare l'assembly. Queste directory vengono eseguite tramite probe oltre a quelle specificate nelle regole di probe predefinite.

szAssemblyName [in] Nome dell'assembly da trovare. Il formato di questa stringa viene definito nella pagina di riferimento della classe per AssemblyName.

ppIUnk [out] Matrice che contiene i puntatori all'interfaccia IMetadataAssemblyImport .

cMax [in] Numero massimo di puntatori di interfaccia da inserire in ppIUnk.

pcAssemblies [out] Numero di puntatori di interfaccia restituiti, ovvero il numero di puntatori di interfaccia effettivamente posizionati in ppIUnk.

Return Value

HRESULT Description
S_OK FindAssembliesByName restituito correttamente.
S_FALSE Non sono presenti assembly.

Remarks

Dato un nome di assembly, il FindAssembliesByName metodo trova l'assembly seguendo le regole standard per la risoluzione dei riferimenti all'assembly. Per altre informazioni, vedere Come il runtime individua gli assembly. FindAssembliesByName consente al chiamante di configurare vari aspetti del contesto del resolver dell'assembly, ad esempio la base dell'applicazione e il percorso di ricerca privato.

Il FindAssembliesByName metodo richiede che CLR venga inizializzato nel processo per richiamare la logica di risoluzione dell'assembly. Pertanto, è necessario chiamare CoInitializeEE (passando COINITEE_DEFAULT) prima di chiamare FindAssembliesByNamee quindi seguire con una chiamata a CoUninitializeCor.

FindAssembliesByName restituisce un puntatore IMetaDataImport al file contenente il manifesto dell'assembly per il nome dell'assembly passato. Se il nome dell'assembly specificato non viene specificato completamente, ad esempio se non include una versione, è possibile che vengano restituiti più assembly.

FindAssembliesByName viene comunemente usato da un compilatore che tenta di trovare un assembly a cui si fa riferimento in fase di compilazione.

Requirements

Piattaforme: Vedere Sistemi operativi supportati da .NET.

Header: Cor.h

Library: CorGuids.lib

See also