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