Assembly.Load



  • Hi,

    ich will eine DLL (NDde.dll für DDE-Geschichten) in einen Unterordner ("DllFiles") stecken, damit die nicht im Programm-Verzeichnis rumliegt. Nach viel rumsuchen fand ich den Hinweis, dass man dazu in den Verweisen bei der DLL die Eigenschaft "Lokale Kopie" auf "false" stellen soll und mit Assembly.Load die DLL laden soll. Ich hab schon alles mögliche ausprobiert, aber bekomme das nicht hin. Das using sieht so aus:

    using NDde.Server;
    

    Kann mir wer helfen?

    Grüsse
    Ank



  • Schau mal hier und hier und such dir eine Möglichkeit aus ^^



  • Zwar danke, aber die genannten Links kannte ich schon und helfen mir nicht weiter, zumal ich auch nicht extra dafür eine config einrichten will. Mein Ansatz bezieht sich auf diesen Link:
    http://stackoverflow.com/questions/7299930/how-can-i-store-system-data-sqlite-dll-in-subfolder

    "If you really don't want to, set Copy Local to false on the reference and load the DLL yourself by calling Assembly.Load.
    Note that you'll need to load the DLL before calling any methods that use its types so that the DLL is already loaded when the runtime JITs the methods."

    Die DLL befindet sich bei mir ja schon im Subfolder und wird von Visual Studio auch "gesehen" weil nix rot unterstrichen ist, es aber dann einen Fehler beim kompilieren gibt. Also müsste ich doch nur noch ein passendes Assembly.Load im Konstruktor einbauen, so hab ich mir das jedenfalls vorgestellt.



  • Dann bau es doch einfach mal ein und guck was passiert.


Anmelden zum Antworten