IMetaDataAssemblyImport::FindAssembliesByName 方法
使用公共语言运行时 (CLR) 用于解析引用的标准规则获取具有指定 szAssemblyName
参数的程序集数组。
语法
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
[out] 包含 IMetadataAssemblyImport
接口指针的数组。
cMax
[in] 放置在 ppIUnk
中的接口指针的最大数量。
pcAssemblies
[out] 返回的接口指针的数量,即实际放置在 ppIUnk
中的接口指针的数量。
返回值
HRESULT | 说明 |
---|---|
S_OK |
已成功返回 FindAssembliesByName 。 |
S_FALSE |
没有程序集。 |
注解
给定程序集名称时,FindAssembliesByName
方法会按照解析程序集引用的标准规则来查找程序集。 (有关详细信息,请参阅运行时如何定位程序集。)FindAssembliesByName
允许调用方配置程序集解析程序上下文的各个方面,例如应用程序基搜索路径和专用搜索路径。
FindAssembliesByName
方法需要在进程中初始化 CLR,以便调用程序集解析逻辑。 因此,必须在调用 FindAssembliesByName
之前调用 CoInitializeEE(传递 COINITEE_DEFAULT),然后调用 CoUninitializeCor。
FindAssembliesByName
返回指向文件(其中包含传入的程序集名称的程序集清单)的 IMetaDataImport 指针。 如果给定的程序集名称未完全指定(例如,如果它不包含版本),则可能会返回多个程序集。
FindAssembliesByName
通常由尝试在编译时查找引用的程序集的编译器使用。
要求
平台:请参阅系统要求。
标头:Cor.h
库:用作 MsCorEE.dll 中的资源
.NET Framework 版本:自 1.0 起可用
请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈