Frage zur GetReferencedAssemblies-Methode

23/11/2009 - 20:02 von Gerrit Kuhlendahl | Report spam
Moinsen!

Ich grübel grad über ein Verhalten der "GetReferencedAssemblies"-
Methode des Assembly-Objektes:

In meiner Hauptassembly sind verschiedene andere Assemblies,
nennen wir sie mal Kindassemblies, per Verweis eingebunden.

Rufe ich nun über das Assembly-Objekt der Hauptassembly
die GetReferencedAssemblies-Methode auf erhalte ich
alle AssemblyName-Objekte der Assemblies, auf die meine
Hauptassembly verweist - dachte ich.

Wie ich feststellen mußte werden durch die
GetReferencedAssemblies-Methode nur die Assemblies angezeigt,
von denen auch mindestens ein Objekt erstellt wurde. Befindet sich
eine Kindassembly nur (bislang) ungenutzt in den Verweisen, wird diese
nicht mit aufgeführt.

In diesem Zusammenhang stellt sich mir die Frage ob ich eine Möglich-
keit habe, auf alle in den Verweisen aufgeführten Assemblies zuzugreifen,
auch wenn von diesen Kindassemblies noch keine Objekte erstellt
wurden. Hintergrund ist, daß vor dem ersten Zugriff auf die Objekte
einige benutzerdefinierte Attribute (auch auf Assemblyebene) ausgelesen
und ausgewertet werden müssen.

Viele Grüße

Gerrit


KUH-SOFT - Die Software von glücklichen Programmierern
 

Lesen sie die antworten

#1 Thorsten Doerfler
23/11/2009 - 21:13 | Warnen spam
Gerrit Kuhlendahl schrieb:
Rufe ich nun über das Assembly-Objekt der Hauptassembly
die GetReferencedAssemblies-Methode auf erhalte ich
alle AssemblyName-Objekte der Assemblies, auf die meine
Hauptassembly verweist - dachte ich.

Wie ich feststellen mußte werden durch die
GetReferencedAssemblies-Methode nur die Assemblies angezeigt,
von denen auch mindestens ein Objekt erstellt wurde.



Mit der Erstellung eines Objekts hat das nichts zu tun. Du musst nur
mindestenst einen Typ aus Deinem referenzierten Assembly deklarieren,
sonst optimiert der Compiler den Assemblyverweis weg.

Public Class Class1

Dim c As C.c

End Class

Dann liefert Dir GetReferencedAssemblies auch C zurück. Sonst optimiert
der Compiler diesen Projektverweis einfach weg und die Liste der
Verweise befindet sich allein in der Projektdatei.

Thorsten Dörfler
Microsoft MVP Visual Basic

vb-hellfire visual basic faq | vb-hellfire - einfach anders
http://vb-faq.de/ | http://www.vb-hellfire.de/

Ähnliche fragen