使用公共语言运行时(CLR)用于解析引用的标准规则,获取具有指定 szAssemblyName 参数的程序集数组。
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