Condividi tramite


Metodo IMetaDataAssemblyImport::FindAssembliesByName

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

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

Parametri

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

  • szPrivateBin
    [in] Elenco di sottodirectory delimitate da punti e virgole, ad esempio "bin;bin2", all'interno della directory radice, in cui cercare l'assembly. La ricerca viene eseguita in queste directory oltre che in quelle specificate nelle regole di ricerca predefinite.

  • szAssemblyName
    [in] Nome dell'assembly da trovare. Il formato di questa stringa è definito nella pagina con le informazioni di riferimento sulla classe per AssemblyName.

  • ppIUnk
    [in] Matrice di tipo IUnknown nella quale inserire i puntatori a interfaccia IMetadataAssemblyImport.

  • cMax
    [out] Numero massimo di puntatori a interfaccia che possono essere inseriti in ppIUnk.

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

Valore restituito

HRESULT

Oggetto di descrizione

S_OK

FindAssembliesByName ha restituito correttamente un valore.

S_FALSE

Non vi sono assembly.

Note

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

Il metodo FindAssembliesByName richiede che Common Language Runtime venga inizializzato nel processo per richiamare la logica di risoluzione degli assembly. È pertanto necessario chiamare CoInitializeEE (passando COINITEE_DEFAULT) prima di chiamare FindAssembliesByName e quindi far seguire una chiamata a CoUninitializeCor.

FindAssembliesByName restituisce un puntatore IMetaDataImport al file che contiene il manifesto dell'assembly per il nome dell'assembly passato. Se il nome dell'assembly in questione non è specificato per intero, ad esempio non è inclusa una versione, potrebbero venire restituiti più assembly.

FindAssembliesByName in genere viene utilizzato da un compilatore che tenta di trovare un assembly a cui viene fatto riferimento in fase di compilazione.

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: Cor.h

Libreria: utilizzata come risorsa in MsCorEE.dll

Versioni di .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

Vedere anche

Riferimenti

Interfaccia IMetaDataAssemblyImport

Concetti

Come il runtime individua gli assembly