[CSharp.net] Assembly.LoadFile und
Abhängi gkeiten
Christoph Wille
csharp.net at glengamoi.com
Tue, 09 Nov 2004 21:45:32 +0100
Ich müßte rumgraben gehen, aber in #develop machen wir es selber, und da
geht es.
Chris
At 09:17 PM 11/9/2004, you wrote:
>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...)?