Поделиться через


Метод IMetaDataAssemblyImport::FindAssembliesByName

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

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

Параметры

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

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

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

  • ppIUnk
    [in] Массив типа IUnknown, в который необходимо поместить указатели интерфейса IMetadataAssemblyImport.

  • cMax
    [out] Максимальное число указателей интерфейса, которые можно поместить в параметр ppIUnk.

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

Возвращаемое значение

HRESULT

Описание

S_OK

Метод FindAssembliesByName успешно возвратил значение.

S_FALSE

Сборки отсутствуют.

Заметки

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

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

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

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

Требования

Платформы: см. раздел Требования к системе для .NET Framework.

Заголовок: Cor.h

Библиотека: используется как ресурс в MsCorEE.dll

Версии платформы .NET Framework: 4, 3.5 с пакетом обновления 1 (SP1), 3.5, 3.0 с пакетом обновления 1 (SP1), 3.0, 2.0 с пакетом обновления 1 (SP1), 2.0, 1.1, 1.0

См. также

Ссылки

Интерфейс IMetaDataAssemblyImport

Основные понятия

Обнаружение сборок в среде выполнения