共用方式為


IMetaDataAssemblyImport::FindAssembliesByName 方法

以指定的 szAssemblyName 參數取得組件陣列,並使用 Common Language Runtime (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] 要在其中放置 IMetadataAssemblyImport 介面指標之型別 IUnknown 的陣列。

  • 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 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0、1.1、1.0

請參閱

參考

IMetaDataAssemblyImport 介面

概念

執行階段如何找出組件