Rubrik: Verschiedenes / Sonstiges | VB-Versionen: VB.NET | 29.10.07 |
Assembly-Verweise ermitteln Mit diesem Code ermitteln Sie alle referenzierten Assemblies (Verweise) einer .NET Anwendung oder .NET DLL (Assembly) | ||
Autor: Dieter Otter | Bewertung: | Views: 12.801 |
www.tools4vb.de | System: WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Manchmal ist es notwendig zu ermitteln, welche Assemblies eine .NET Anwendung oder .NET DLL (Assembly) intern benötigt, d.h. zu ermitteln, welche weiteren Assembly-Verweise zur Ausführung einer bestimmten .NET Anwendung oder .NET DLL vorhanden sein müssen.
Mit nachfolgendem Code können sämtliche Assembly-Verweise einer beliebigen .NET Anwendung oder .NET DLL (Assembly) ermittelt werden. Das Beispiel gibt hierzu die Assembly-Dateinamen, sowie deren Versionsnummern in einer ListBox aus.
Private Sub ShowReferencedAssemblies(ByVal sFile As String) With ListBox1.Items .Clear() ' Assembly laden Dim oAssembly As System.Reflection.Assembly = _ System.Reflection.Assembly.LoadFrom(sFile) ' referenzierte Assemblies (Assembly-Verweise) Dim oRefAssemblies() As System.Reflection.AssemblyName = _ oAssembly.GetReferencedAssemblies() ' alle referenzierten Assemblies durchlaufen und in ' der ListBox anzeigen (einschl. Versionsnummer) For Each oRefAssembly As System.Reflection.AssemblyName _ In oRefAssemblies .Add(oRefAssembly.Name & " (Version " & _ oRefAssembly.Version.ToString & ")") Next End With End Sub
Beispiel für den Aufruf:
' Assembly-Verweise einer bestimmte .NET DLL auflisten ShowReferencedAssemblies("d:\temp\mynet.dll")
' Assembly-Verweise der eigenen Anwendung auflisten Dim sEXEName As String = Application.ExecutablePath ShowReferencedAssemblies(sEXEName)