Autor Beitrag
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Do 12.07.12 11:15 
In einer Standard .Net Applikation kann man ja mit Assembly.GetEntryAssembly() die Assembly mit dem Entrypoint der App ermitteln. Wenn es sich zum Beispiel um ein Office Add-In oder eine Anwendung mit einem unmanaged Host der selbst die CLR startet handelt funktioniert das logischerweise nicht. Für eine allgemeine Loggingfunktionalität bräuchte ich eine Methode die mir die erste gestartet Assembly liefert egal wie die gestartet wurde. Scheint da nichts fertiges im Framework zu geben. Ideen?
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4799
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Do 12.07.12 12:55 
Hallo Ralf,

hast du schon mal geschaut, ob die AppDomain.GetAssemblies-Methode die Assemblies evtl. in dieser Reihenfolge ausgibt (so daß dann die erste Assembly die Start-Assembly ist)?
Ralf Jansen Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Do 12.07.12 14:49 
Scheint eigentlich zu stimmen (ausprobiert mit 2.0, 4.0 in Debug&Release und mit Debugger Attached) . Wenn man mal die ganzen Framework Assemblies (mscorlib etc.) ignoriert wäre die erste nicht Framework Assembly diejenige die ich brauche. Aber das hängt natürlich an einem Implementierungsdetail das man nicht einsehen kann (und sich jederzeit bei irgendeinem Update des Frameworks ändern könnte). Etwas das per Definition stabilere Ergebnisse liefert wäre mir lieber.
gfoidl
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 157
Erhaltene Danke: 19

Win XP
C#, Fortran 95 - Visual Studio
BeitragVerfasst: Do 12.07.12 21:07 
Hallo Ralf,

am sichersten bekommst du die Information vom Fuslogvw.exe (Assembly Binding Log Viewer). Dir fällt dann sicher ein Weg ein, wie diese Info automatisiert ins Log kommt.

mfG Gü

_________________
Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!
Ralf Jansen Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Fr 13.07.12 10:29 
Gegen fuslogvw sprechen leider mindestens 2 Sachen. Man benötigt Adminrechte und es gehört zum SDK und nicht zum Framework. Das macht es für den Einsatz in einer Anwendung eher ungeeignet.