Freigeben über


IMetaDataAssemblyImport::FindAssembliesByName-Methode

Ruft ein Array von Assemblys mit dem angegebenen szAssemblyName-Parameter ab, wobei die von der Common Language Runtime (CLR) verwendeten Standardregeln für das Auflösen von Verweisen angewendet werden.

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

Parameter

  • szAppBase
    [in] Das Stammverzeichnis, in dem nach der angegebenen Assembly gesucht werden soll. Wenn der Wert auf null festgelegt ist, sucht FindAssembliesByName nur im globalen Assemblycache nach der Assembly.

  • szPrivateBin
    [in] Eine durch Semikolons getrennte Liste von Unterverzeichnissen (z. B. "bin;bin2") unter dem Stammverzeichnis, in denen nach der Assembly gesucht werden soll. Diese Verzeichnisse werden zusätzlich zu denen überprüft, die in den Standardüberprüfungsregeln angegeben sind.

  • szAssemblyName
    [in] Der Name der zu suchenden Assembly. Das Format dieser Zeichenfolge wird in der Klassenverweisseite für AssemblyName definiert.

  • ppIUnk
    [in] Ein Array des Typs IUnknown, in das die IMetadataAssemblyImport-Schnittstellenzeiger eingefügt werden.

  • cMax
    [out] Die maximale Anzahl von Schnittstellenzeigern, die in ppIUnk eingefügt werden können.

  • pcAssemblies
    [out] Die Anzahl der zurückgegebenen Schnittstellenzeiger. Das heißt, die Anzahl der Schnittstellenzeiger, die tatsächlich in ppIUnk eingefügt werden.

Rückgabewert

HRESULT

Beschreibungen

S_OK

FindAssembliesByName erfolgreich zurückgegeben.

S_FALSE

Es gibt keine Assemblys.

Hinweise

Wenn ein Assemblyname angegeben ist, sucht die FindAssembliesByName-Methode die Assembly entsprechend den Standardregeln für die Auflösung von Assemblyverweisen. (Weitere Informationen finden Sie unter So sucht Common Language Runtime nach Assemblys.) FindAssembliesByName ermöglicht dem Aufrufer die Konfiguration verschiedener Aspekte des Assemblyresolverkontexts, wie Anwendungsbasis und privater Suchpfad.

Für die FindAssembliesByName-Methode muss die CLR im Prozess initialisiert sein, damit die Assemblyauflösungslogik aufgerufen werden kann. Daher müssen Sie CoInitializeEE (COINITEE_DEFAULT übergeben) vor FindAssembliesByName aufrufen und dann mit einem Aufruf von CoUninitializeCor fortfahren.

FindAssembliesByName gibt einen IMetaDataImport-Zeiger auf die Datei zurück, die das übergebene Assemblymanifest des übergebenen Assemblynamens enthält. Wenn der Assemblyname nicht vollständig angegeben ist (wenn beispielsweise die Versionsangabe fehlt), werden möglicherweise mehrere Assemblys zurückgegeben.

FindAssembliesByName wird häufig von einem Compiler verwendet, der versucht, zur Kompilierzeit eine Assembly, auf die verwiesen wird, zu suchen.

Anforderungen

Plattformen: siehe Systemanforderungen für .NET Framework.

Header: Cor.h

Bibliothek: als Ressource in MsCorEE.dll verwendet

.NET Framework-Versionen: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

Siehe auch

Referenz

IMetaDataAssemblyImport-Schnittstelle

Konzepte

So sucht Common Language Runtime nach Assemblys