| 

.NET C# Java Javascript Exception

1
Hallo

Ich habe hier eine .NET Anwendung mit mehreren duzend DLLs. Die läuft einwandfrei, bis zu dem zeitpunkt wo man der Verknüpfung kein "Ausführen in" angibt. Dann kommt eine FileNotFoundException auf eine DLL die definitiv im Verzeichnis liegt wo auch die EXE Datei liegt. Ich ging, bzw. gehe davon aus, das .NET als allererstes im Verzeichnis der EXE-Datei nach den entsprechenden DLLs sucht. Kann mir das Verhalten somit nicht erklären.

Hat jemand eine Idee?

Auslöser ist eigentlich ein URL Protokoll was auf die Anwendung registriert ist. Ich kann es aber nur reproduzieren in dem ich auf der Verknüpfung zur Anwendung das "Ausführen in" entferne.
News:
07.04.2015
GENiALi 2,5k 1 2 8
1 Antwort
1
Wenn du das Verzeichnis, auf welches "Ausführen in..." zeigt, löschst wird der aktuelle Pfad (normalerweise das Verzeichnis, in dem die Verknüpfung liegt) verwendet. Wenn deine DLL's nicht dort liegen, kommt es zu dem Fehler. Du kannst das im Prinzip einfach prüfen, indem du die Verknüpfung in das Anwendungsverzeichnis kopierst und von dort ausführst.

Wenn du sicherstellen willst, dass die DLL's geladen werden, kannst du dies auch explizit aus deiner EXE heraus tun. Im Reflection-Namespace gibt es entsprechende Methoden.

Gruß
Klaus
08.04.2015
luedi 2,0k 1 9
luedi 2,0k 1 9
Analyse ist korrekt. Ich habe in der App mal per Code den Ausführen in Pfad angepasst. Funktioniert perfekt, ist aber nicht die Lösung. Ich probiere es nun mal mit dem AssemblyResolve (http://goo.gl/Hu8KVA). Sollte auch damit lösbar sein.
GENiALi 08.04.2015

Stelle deine .net-Frage jetzt!