[CSharp.net] Assembly.LoadFile und Abhängi
gkeiten
Helge Lenuweit
csharp.net at glengamoi.com
Tue, 09 Nov 2004 21:17:31 +0100
Hi Christoph,
danke für den Hinweis, leider habe ich aber immer noch keine Lösung...
Hast Du evtl. ein Beispiel oder noch eine Idee? Ich habe noch einige
Forschungen angestellt und weiß inzwischen, daß Assembly.LoadFile die zu
ladende Assembly in die ausführende AppDomain lädt. Zur Lösung erzeugt
man sich wohl eine neue Appdomain, setzt die Basispfade über das
AppdomainSetup-Objekt auf den Plugin- und den Ausführungsordner und
erzeugt die Objekte der fremden Assembly in der neuen AppDomain. Leider
wird dafür intern wohl die Remoting-Infrastruktur hergenommen, und
folgerichtig kommen dabei merkwürdige "Klasse ist nicht als
serialisierbar markiert"-Fehler. Bei meinen eigenen Klassen kann ich für
[Serializable] sorgen, aber darüberhinaus?
Gruß, Helge
Christoph Wille wrote:
> Es gibt einen Weg den Assembly Locator Mechanismus zu überschreiben.
>
> Chris
>
> At 08:07 AM 11/9/2004, you wrote:
>
>> ich habe ein Problem mit dem Laden von DLLs als Plugins, bzw. deren
>> Abhängigkeiten. In einem definierten Unterordner meiner Anwendung
>> liegen Plugin-DLLs nach einem bestimmten Namensschema, die ich zum
>> Start per Assembly.LoadFile und, sofern erfolgreich,
>> Activator.CreateInstance zum Einsatz bringe. Soweit, sogut, aber zwei
>> von den Dingern haben externe Abhängigkeiten, und dort scheitert das
>> Laden - der Plugin-Ordner wird nicht durchsucht. Lege ich die
>> referenzierte Library aber in den Ausführungsordner meines
>> Ursprungsprogramms statt meines Plugins, funktioniert es (natürlich).
>> Gibt es eine programmatische Lösung für dieses Problem (außer
>> GAC-registrieren...)?
>
>
>
> _______________________________________________
> CSharp.net Mailingliste, Postings senden an:
> CSharp.net@glengamoi.com
> An-/Abmeldung und Suchfunktion unter:
> http://www.glengamoi.com/mailman/listinfo/csharp.net
>
>