2009-03-18 9 views

Antwort

5
System.Reflection.Assembly.GetEntryAssembly().GetName().Version 
+0

Danke! Abgesehen davon - haben Sie irgendwelche Tipps, um sich mit dem Framework vertraut zu machen, so dass diese Art von Sachen einfach nur eine Selbstverständlichkeit ist? –

+0

@ vg1890: MSDN war die beste Ressource, von der ich lernen konnte. Es braucht Zeit und Erfahrung mit dem Framework. Es gibt ein "CLR via C#" - Buch, das über die CLR-Interna lehrt. Ich habe es nicht gelesen, aber ich habe viele gute Kritiken darüber gehört. –

0

EDIT Meine Antwort wird nur funktionieren, wenn die DLL einen Verweis auf die tatsächlich EXE hat, die ziemlich seltsam wäre, zu tun.

Versuchen Sie, die folgende

typeof(SomeTypeInMyProgram).Assembly.GetName().Version 

Dies wird eine Version Struktur zurück, die die Version von MyProgram.exe analysieren können.

+0

Wie können Sie das tun? Es wird ein Rundschreiben sein, denke ich. –

+0

Es funktioniert gut - jedes Objekt hat einen Verweis auf seine eigene Assembly, von dort können Sie alles über diese Assembly einschließlich ihrer Version bestimmen. –

+0

Das Problem ist, dass es nicht eine eigene Baugruppe ist. MyProgram hängt von MyClassLibrary1 ab, was wiederum von MyClassLibrary2 abhängt. Um die Version von MyProgram von MyClassLibrary2 auf diese Weise zu erkennen, sollten Sie sie zur Kompilierzeit verfügbar haben. –

Verwandte Themen