none
Aus der MSDN Hotline: Version von DLL ermitteln (C#) RRS feed

  • Allgemeine Diskussion

  • Hallo zusammen,

    heute wurde uns bei der MSDN Hotline unter anderem folgende Frage gestellt:
    Wie kann man in C# die Version von externen DLLs (.NET Assemblies) ermitteln?

    Unsere Antwort bzw. unser Lösungsvorschlag darauf war:
    In .NET kann mittels der Funktion GetAssemblyName [1] der Klasse AssemblyName und deren Eigenschaft Version [2] folgendermaßen die Version von .NET DLLs (Assemblies) ermittelt werden:

    AssemblyName assemblyName = AssemblyName.GetAssemblyName("Pfad der  DLL");
    string version = assemblyName .Version.ToString();
    

    Wichtig bei der Verwendung des obigen Codebeispiels sind folgende Aspekte:

    1) Mit dem Beispielcode kann nur die Version von .NET-DLLs ermittelt werden, bei anderen DLLs gibt es eine BadImageFormatException. Der Einsatz eines entsprechenden Try-Catch Handlers ist also empfehlenswert.

    2) Das Programm mit den obigen Codezeilen sollte als .NET 4.0 Anwendung kompiliert werden. Bei Verwendung einer älteren .NET Version gibt es eine Exception wenn die DLL, die als Argument bei AssemblyName.GetAssemblyName angegeben wird, für eine neuere .NET Version kompiliert wurde.


    [1] http://msdn.microsoft.com/de-de/library/system.reflection.assemblyname.getassemblyname.aspx
    [2] http://msdn.microsoft.com/de-de/library/system.reflection.assemblyname.version%28v=vs.80%29.aspx


    Wir hoffen, vielen Besuchern der MSDN Foren durch das Posten dieses Problems und einer möglichen Lösung weiterhelfen zu können.

    Viele Grüße,
    Sebastian Crüger
    MSDN Hotline für MSDN Online Deutschland

    Disclaimer:
    Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
    Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die MSDN Hotline: http://www.msdn-online.de/Hotline
    MSDN Hotline: Schnelle & kompetente Hilfe für Entwickler: kostenfrei!

    Es gelten für die MSDN Hotline und dieses Posting diese Nutzungsbedingungen, Hinweise zu Markenzeichen sowie die allgemein gültigen Informationen zur Datensicherheit sowie die gesonderten Nutzungsbedingungen für die MSDN Hotline.


    Montag, 7. November 2011 16:46