IMetaDataAssemblyImport::FindAssembliesByName Method

Возвращает массив сборок с указанным szAssemblyName параметром, используя стандартные правила, используемые средой CLR для разрешения ссылок.

Syntax

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

Parameters

szAppBase [in] Корневой каталог, в котором выполняется поиск заданной сборки. Если это значение задано null, FindAssembliesByName будет выглядеть только в глобальном кэше сборок для сборки.

szPrivateBin [in] Список подкаталогов с запятыми (например, bin; bin2"), в корневом каталоге, в котором выполняется поиск сборки. Эти каталоги пробуются в дополнение к тем, которые указаны в правилах проверки по умолчанию.

szAssemblyName [in] Имя сборки для поиска. Формат этой строки определяется на странице ссылок класса для AssemblyName.

ppIUnk [out] Массив, содержащий IMetadataAssemblyImport указатели интерфейса.

cMax [in] Максимальное количество указателей интерфейса для размещения ppIUnk.

pcAssemblies [out] Число возвращаемых указателей интерфейса— то есть количество указателей интерфейса, в которое фактически помещаются ppIUnkуказатели.

Return Value

HRESULT Description
S_OK FindAssembliesByName возвращается успешно.
S_FALSE Нет сборок.

Remarks

Присвоив имя сборки, FindAssembliesByName метод находит сборку, следуя стандартным правилам для разрешения ссылок на сборки. (Дополнительные сведения см. в разделе "Поиск сборок во время выполнения".) FindAssembliesByName позволяет вызывающей стороне настраивать различные аспекты контекста сопоставителя сборок, такие как базовый и частный путь поиска приложений.

Метод FindAssembliesByName требует, чтобы среда CLR была инициализирована в процессе, чтобы вызвать логику разрешения сборки. Поэтому перед вызовом FindAssembliesByNameнеобходимо вызвать CoInitializeEE (передавая COINITEE_DEFAULT), а затем следовать вызову CoUninitializeCor.

FindAssembliesByName возвращает указатель IMetaDataImport на файл, содержащий манифест сборки для имени сборки, переданного в. Если заданное имя сборки не указано полностью (например, если она не содержит версию), может быть возвращено несколько сборок.

FindAssembliesByName обычно используется компилятором, который пытается найти ссылаемую сборку во время компиляции.

Requirements

Платформ: См. сведения о поддерживаемых операционных системах .NET.

Header: Cor.h

Library: CorGuids.lib

See also