Dela via


IMetaDataAssemblyImport::FindAssembliesByName-metod

Hämtar en matris med sammansättningar med den angivna szAssemblyName parametern med hjälp av standardreglerna som används av CLR (Common Language Runtime) för att matcha referenser.

Syntax

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

Parametrar

szAppBase
[i] Rotkatalogen där du kan söka efter den angivna sammansättningen. Om det här värdet är inställt på null, FindAssembliesByName visas endast i den globala sammansättningscache för sammansättningen.

szPrivateBin
[i] En lista över semikolonavgränsade underkataloger (till exempel "bin;bin2"), under rotkatalogen, där du kan söka efter sammansättningen. Dessa kataloger avsöks utöver de som anges i standardavsökningsreglerna.

szAssemblyName
[i] Namnet på sammansättningen som ska hittas. Formatet för den här strängen definieras på klassreferenssidan för AssemblyName.

ppIUnk
[ut] En matris som innehåller gränssnittspekarna IMetadataAssemblyImport .

cMax
[i] Det maximala antalet gränssnittspekare som ska placeras i ppIUnk.

pcAssemblies
[ut] Antalet gränssnittspekare som returneras, dvs. antalet gränssnittspekare som faktiskt placeras i ppIUnk.

Returvärde

HRESULT Description
S_OK FindAssembliesByName returnerades korrekt.
S_FALSE Det finns inga sammansättningar.

Kommentarer

Med ett sammansättningsnamn FindAssembliesByName hittar metoden sammansättningen genom att följa standardreglerna för att matcha sammansättningsreferenser. (Mer information finns i How the Runtime Locates Assemblies.) FindAssembliesByName tillåter anroparen att konfigurera olika aspekter av sammansättningslösarkontexten, till exempel programbas och privat sökväg.

Metoden FindAssembliesByName kräver att CLR initieras i processen för att anropa sammansättningsmatchningslogik. Därför måste du anropa CoInitializeEE (skicka COINITEE_DEFAULT) innan du anropar FindAssembliesByNameoch sedan följa med ett anrop till CoUninitializeCor.

FindAssembliesByName returnerar en IMetaDataImport-pekare till filen som innehåller sammansättningsmanifestet för sammansättningsnamnet som skickas. Om det angivna sammansättningsnamnet inte är helt angivet (till exempel om det inte innehåller en version) kan flera sammansättningar returneras.

FindAssembliesByName används ofta av en kompilator som försöker hitta en refererad sammansättning vid kompileringstillfället.

Krav

Plattformar: Se Systemkrav.

Huvudet: Cor.h

Bibliotek: Används som en resurs i MsCorEE.dll

.NET Framework versioner: Tillgänglig sedan 1.0

Se även