Autor Beitrag
aminitoy
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Mi 04.08.10 10:57 
Hallo,

Ich habe das Problem, dass einer meiner Assemblies zur Laufzeit nicht geladen wird.
Sie liegt nämlich in einem Verzeichnis, welches nicht gefunden wird.

Verzeichnis Exe:
C:\Verzeichnis\program.exe // diese exe verwendet Methoden aus assembly.dll

Verzeichnis der zu ladenden Assembly:
C:\AnderesVerzeichnis\assembly.dll

Ich habe es mit AppDomain.AppendPrivatePath versucht, jedoch kann ich da denke ich nur vorwärts navigieren.

Weiss jemand wie ich am besten vorgehe um die library laden zu können ohne sie zu regestrieren?

Danke und lg
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Mi 04.08.10 18:37 
Das funktioniert über <codeBase>.

_________________
>λ=
aminitoy Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Mi 04.08.10 18:55 
Danke,

Aber ich habe mich falsch ausgedrückt.

Die dll zu laden ist gar nicht das problem. Das könnte ich auch mit der methode loadfrom machen.

Jedoch greift die geladene assembly.dll auf andere dlls aus deren verzeichnis zu. Da tritt dann der Fehler auf.
Ich denke das liegt daran, dass die AppDomain sich nicht um den Pfad der geladenen Dll erweitert.

Nur AppDomain.AppendPrivatePath würde das tun, jedoch geht das wie gesagt nach vorwärts.

Ist das verständlich? ;)
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Mi 04.08.10 19:05 
Geht es nun um statisches oder dynamisches Laden :nixweiss: ?
In beiden Fällen musst du aber eben erst die Abhängigkeiten dieser Assembly laden. Und davor deren Abhängigheiten und... ;) .

_________________
>λ=