[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
>
>