informace o referovaných knihovnách   zodpovězená otázka

VB.NET, Compact Framework

Dobrý den,

jak zjistím v programu názvy a verze referovaných knihoven ?

Přes reflection jsem se dostal pouze na informace o spouštěné assembly.

Jedná se o CompactFramework 2.0 kde není k dispozici GetEntryAssembly.

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Jdete na to správně - pomocí Reflection. Následující kód je sice pro plnohodnotný Framework, ale předpokládám že tak základní věc jako GetExecutingAssembly by měla být i v kompaktu.

Imports System.Reflection
Module Module1
  Sub Main()
    Dim referencedAssemblies = Assembly.GetExecutingAssembly().GetReferencedAssemblies()
    For Each referencedAssembly In referencedAssemblies
      With referencedAssembly
        Console.WriteLine(.Name & ", " & .Version.ToString)
      End With
    Next
    Console.ReadKey()
  End Sub
End Module

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Tak to bude problém Kompakt má GetExecutingAssembly, ale není v ní funkce GetReferencedAssemblies.

Její členové jsou:

CreateInstance, FullName, GetCustomAttributes, GetManifestResourcesNames, GetManifestResourcesStream, GetModules, GetName, GetSatelliteAssembly, GetType, GetTypes, IsDefined, ManifestModules, ToString

Vážně mě nic jak to zjistit nenapadá.

Zkoušel jsem kompakt 2.0 i 3.5 ale ani v jednom to není.

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Tak tohle se mi podařilo najít v dokumentaci. Není to tak efektivní jako GetEntryAssembly ale také to funguje.

Nejdříve musím znát nebo si zjistit všechny dll, exe v projektu to není problém. Název knihovny použiju do:

Dim assem As System.Reflection.Assembly = System.Reflection.Assembly.LoadFrom("dllFileName")
nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback