IMetaDataAssemblyImport::FindAssembliesByName 方法 (rometadataapi.h)

使用公共语言运行时 (CLR) 用于解析引用的标准规则,获取具有指定名称的程序集数组。

语法

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

参数

[in] szAppBase

要在其中搜索给定程序集的根目录。 如果此值设置为 null, 则 FindAssembliesByName 将仅查找程序集的全局程序集缓存中。

[in] szPrivateBin

以分号分隔的子目录的列表, (例如“bin;bin2“) ,位于要在其中搜索程序集的根目录下。 除了在默认探测规则中指定的目录之外,还会探测这些目录。

[in] szAssemblyName

要查找的程序集的名称。 此字符串的格式在 AssemblyName 的类引用页中定义。

[out] ppIUnk

IUnknown 类型的数组,在其中放置 IMetadataAssemblyImport 接口指针。

[in] cMax

可以放置在 ppIUnk 中的接口指针的最大数目。

[out] pcAssemblies

返回的接口指针数。 也就是说,实际放置在 ppIUnk 中的接口指针数。

返回值

HRESULT 说明
S_OK 已成功返回 FindAssembliesByName
S_FALSE 没有程序集。

注解

给定程序集名称后, FindAssembliesByName 方法会遵循用于解析程序集引用的标准规则来查找程序集。 FindAssembliesByName 允许调用方配置程序集解析程序上下文的各个方面,例如应用程序基搜索路径和专用搜索路径。

FindAssembliesByName 返回一个 IMetaDataImport 指针,指向包含传入的程序集名称的程序集清单的文件。 如果给定的程序集名称未完全指定(例如,如果它不包含版本),则可能会返回多个程序集。

FindAssembliesByName 通常由尝试在编译时查找引用的程序集的编译器使用。

要求

要求
目标平台 Windows
标头 rometadataapi.h

另请参阅

IMetaDataAssemblyImport