Laden...

Geladene DLL - Version ermitteln

Erstellt von Pedro_15 vor 13 Jahren Letzter Beitrag vor 13 Jahren 3.471 Views
P
Pedro_15 Themenstarter:in
375 Beiträge seit 2005
vor 13 Jahren
Geladene DLL - Version ermitteln

Hallo,

ich habe mal eine kurze Frage.

Wie kann ich die Version einer geladenen DLL ermitteln.
Es geht darum nicht ein File-Namen anzugeben, sondern es soll die
geladen DLL ermittelt werden. (Im aktuellen Fall riched20.dll)

Danke!

Pedro

6.911 Beiträge seit 2009
vor 13 Jahren

Hallo,

zB


Version version = typeof(string).Assembly.GetName().Version;

string ist durch einen Typen in der gewünschten Assembly zu ersetzen, oder der Verweis auf die Assembly wird irgendwie anders geholt...

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

P
Pedro_15 Themenstarter:in
375 Beiträge seit 2005
vor 13 Jahren
Nicht das richtige Ergebnis

Leider gibt mir das nicht das was ich möchte.
Ich bekomme
asm = {System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089}

Mich intressiert aber die Version von riched20.dll.


Assembly asm = typeof(RichTextBox).Assembly;
            Version version = asm.GetName().Version; 

Kann bitte jemand Licht machen.

Pedro

2.223 Beiträge seit 2005
vor 13 Jahren

Hallo Pedro_15,

das könnte daran liegen, dass sich die Richtextbox nicht in der riched20.dll befindet.
Box
wenn ich mich recht erinnere, wird diese Dll zwar von der Richtext zur anzeige von den Daten benutzt, jedoch das Control befindet sich nicht dort drin.

leider hätte ich aktuell auch keine andere Idee, dieses Version herauszufinden als in der Registry den Pfad zu der jeweiligen Dll zu suchen und dann aus dieser Dll die Version auszulesen.

Das Problem wird dann natürlich sein, das diese dll vermutlich nicht nur einmal auf dem jeweiligen System zu finden ist.

Viele Grüße
Lars