Announcement

Collapse
No announcement yet.

Type.GetType (dynamisch geladene Assembly)

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Type.GetType (dynamisch geladene Assembly)

    Hallo,
    meine Applikation ist über Plugins dynamisch erweiterbar, weshalb die konfigurierten Assemblys beim Programmstart geladen werden. Bewerkstelligen tu ich das ganze mit:
    [highlight=c#]
    Assembly A = Assembly.LoadFrom(pfadzurdll);
    [/highlight]

    eigentlich möchte ich alle meine Objekte vom Spring Framework generieren lassen, da es einem echt viel Arbeit abnimmt und man nach kurzer Eingewöhnung schnell alles erreicht ohne viel CodeAufwand zu betreiben. Nun wenn ich jetzt die Typen meiner externen Assembly in Spring konfiguriere habe ich ein Problem, Spring versucht beim Auslesen immer herauszufinden ob ein Typ existiert dies geschieht meines Erachtens über diesen befehl:
    [highlight=c#]
    Type.GetType(InSprinkonfigurierterTypName,True);
    [/highlight]
    Das True ist nur dass eine Exception geworfen wird. Ja und genau dass passiert seit ich meine Assemblies nicht mehr fest eingebunden sondern dynamisch nachlade. Ist dieses Verhalten normal und kann ich daran irgendetwas ändern?

    Gruß Daniel
    Unsere Jugend ist unerträglich, unverantwortlich und entsetzlich anzusehen! - Aristoteles

  • #2
    würde es mein Problem beheben wenn meine Plugins statt von mir dynamisch geladen, dynamisch aus dem GlobalAssemblyCache kommen? Oder müssten sie dann auch im Projekt referenziert sein?
    Unsere Jugend ist unerträglich, unverantwortlich und entsetzlich anzusehen! - Aristoteles

    Comment


    • #3
      Was für einem Name wird den in der Spring Konfiguration benutzt?
      Ich könnte mir vorstellen das man durch das dynamischen Laden gezwungen ist den vollqualifizierten Typnamen benutzen zu müssen.

      Also z.B so etwas

      ""Microsoft.Practices.CompositeUI.EventBroker.Even tTopicException, Microsoft.Practices.CompositeUI, Version=1.0.0.56, Culture=neutral, PublicKeyToken=8971988fc23927ba""


      Edit: Das der GAC irgendwas ändert bezweifle ich.

      Comment


      • #4
        nun ich benutze sowas in der Art:
        Code:
        type="GerXP.LogonLib.LogonView, LogonLib.dll"
        ich bekomme halt dann die Exception dass er daraus keinen Context machen kann ... da er mit dem Typestring nichts anfangen kann. Würd ich aber LogonLib statisch einbinden funktionierts.


        So bin jetzt soweit dass Type.GetType funktioniert. Wird die Assembly nämlich im ApplicationOrdner deponiert funktionierts aus irgendeinem Grund. Aus andrem Ordner kann man sie zwar laden kann aber dann nicht in dem Umfang drauf zugreifen. Das eigenartige ist jetzt kann ich zwar Spring wieder initialisieren. Meine Objekte lädt er aber trotzdem nicht, die sind immer Null :/
        Zuletzt editiert von das-d; 08.02.2010, 10:32.
        Unsere Jugend ist unerträglich, unverantwortlich und entsetzlich anzusehen! - Aristoteles

        Comment

        Working...
        X