dll in externem Ordner

09/14/2015 18:03 Pumba98#1
Hallo zusammen,
ich möchte auf eine .dll zugreifen, welche in einem anderen Ordner liegt als meine .exe.
Ist das realisierbar? Und wenn ja wie?

Danke schonmal
09/14/2015 18:28 Mostey#2
Klar ist das realisierbar aber ohne Kontext kann dir keiner sagen wie es geht.
09/14/2015 18:38 Pumba98#3
Ich nutze die Interop.IWshRuntimeLibrary.dll um mit meinem Programm eine Verknüpfung auf dem Desktop zu erstellen. Die dll lade ich runter, momentan noch in den Ordner in dem auch mein Programm liegt, ich würde sie aber lieber in einen externen Ordner laden damit sie halt nicht auf den Desktop rumliegt. Ich weiß nur nicht wie ich sie dann verwenden kann :(
09/14/2015 22:08 coladose#4
Wie wäre es, wenn du ein Programmverzeichnis im Nutzerverzeichnis anlegst und dann nur eine Verknüpfung auf den Desktop packst?
09/14/2015 22:18 Pumba98#5
Quote:
Originally Posted by coladose View Post
Wie wäre es, wenn du ein Programmverzeichnis im Nutzerverzeichnis anlegst und dann nur eine Verknüpfung auf den Desktop packst?
Publishe nur die exe, hab daher keinen Einfluss darauf wo sie liegt und gehe davon aus, dass mein Tool vermutlich auf den Desktop gepackt wird :confused:
09/15/2015 10:58 Xio.#6
In App.Config

Code:
<runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <probing privatePath="3rd Party Libraries" /> <--- Pfad wo deine DLLs sind (Debug/3rd Party Libraries/ in diesem fall)
      </assemblyBinding>
<runtime>
09/15/2015 18:42 coladose#7
Quote:
Originally Posted by Pumba98 View Post
Publishe nur die exe, hab daher keinen Einfluss darauf wo sie liegt und gehe davon aus, dass mein Tool vermutlich auf den Desktop gepackt wird :confused:
Dann einfach einen kleinen "Installer" bauen und die DLL mit ausliefern (solange das lizenztechnisch erlaubt ist) und dann meine oben genannte Prozedur...
09/16/2015 18:39 maxGOLDS#8
[Only registered and activated users can see links. Click Here To Register...]

Falls die dll mit deiner exe ausgeliefert wird sollte dir noch:

Code:
Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName);
helfen