Reflection - Assembly entladen

03/08/2008 - 16:45 von Thomas Kehl | Report spam
Hallo.

Ich habe eine Frage zu Reflection. Ich lade mittels Reflection Assemblies
und erstelle Objekte, von denen ich Methoden ausführe. Das Ganze ist so eine
Art PlugIn-System. Nun möchte ich zur Laufzeit eine solche Assembly
austauschen können. Ich bin nun auf der Suche, eine geladene Assembly zu
entladen, damit ich diese austauschen und wieder verwenden kann. Gibt es
eine solche Möglichkeit?

Besten Dank für eure Hilfe.

Grüsse, Thomas
 

Lesen sie die antworten

#1 Frank Dzaebel
03/08/2008 - 17:21 | Warnen spam
Hallo Thomas,

Ich habe eine Frage zu Reflection. Ich lade mittels Reflection Assemblies
und erstelle Objekte, von denen ich Methoden ausführe.
Das Ganze ist so eine Art PlugIn-System. Nun möchte ich zur
Laufzeit eine solche Assembly austauschen können.



Man kann eine einmal geladene Assembly nicht "direkt" un-loaden.
Allerdings kann man die AppDomain unloaden. Man
kann also eine neue AppDomain erzeugen (AppDomain.CreateDomain()),
kann sie dort hineinladen und dort damit arbeiten. Unload der
Appdomain
dann, wenn's halt benötigt wird, wodurch dann auch die Assembly in ihr
mit
ge-"unloaded" wird.

Möglichkeiten ggf. auch über "ShadowCopy":

[Jason Zander's WebLog : Why isn't there an Assembly.Unload method?]
http://blogs.msdn.com/jasonz/archiv...45105.aspx

[Junfeng Zhang's Windows Programming Notes : AppDomain and Shadow
Copy]
http://blogs.msdn.com/junfeng/archi...69919.aspx


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen