| 

.NET C# Java Javascript Exception

2
Gibt es einen einfachen Weg zu ermitteln, ob eine .NET-Anwendung oder deren untergeordneten .NET-Komponenten ihrerseits COM-Komponenten verwenden? In unserem Unternehmen sollen diese Anwendungen als kritisch eingestuft werden. Die Überprüfung sollte möglich sein, ohne das zu den Anwendungen die Quelltexte vorliegen. Geht sowas per Reflection?
02.08.2011
ControlFreak 165 4
1 Antwort
0
Falls die COM Objekte referenziert werden, kannst du die Abhängigkeiten bestimmen
Assembly a = Assembly.LoadFrom(pathToAssembly);
AssemblyName [] an = a.GetReferencedAssemblies();

Eine Assembly kann auch ohne vorliegenden Quellcode geladen werden, über GetReferencedAssemblies() solltest du eine Liste aller abhängiger Assemblies erhalten. Bitte beachten, dass der Code rekursiv ausgeführt werden sollte.
Dieser MSDN Artikel gibt eine gute Übersicht.

Wird das COM Objekt über Activation erzeugt fällt mir auf die Schnelle leider kein sinnvoller Test ein. Vielleicht mit dem Reflector, eine Disassembly erzeugen und danach z.B. nach "GetTypeFromCLSID" suchen..
02.08.2011
puls200 3,8k 7

Stelle deine Com-Frage jetzt!