System.DllNotFoundException: HRESULT: 0x8007007E
Beim Versuch eine Dll dynamisch zu laden erhielt ich die Fehlermeldung im Titel, obwohl die Ziel angegebene Dll im Verzeichnis vorhanden war.
Nach ein bisschen suchen konnte ich den Fehler finden. Deshalb mal kurz zwei Beispiele wie der Fehler auftreten kann.
Ein fiktives Beispiel wo der regulär auftritt:
- Application.exe startet
- Application.exe lädt Zusatz.dll
- Zusatz.dll nicht gefunden -> System.DllNotFoundException: Zusatz.dll not found
Ein fiktives Beispiel wo der Fehler auftritt auch wenn die dll vorhanden ist:
- Application.exe startet
- Application.exe lädt Zusatz.dll
- Zusatz.dll gefunden und wird geladen
- Zusatz.dll lädt NochEineZusatz.dll
- NochEineZusatz.dll nicht gefunden -> System.DllNotFoundException: Zusatz.dll not found
Jetzt kommt das kuriose. Obwohl der Fehler beim laden der NochEineZusatz.dll auftrat gibt die Exception die erste, ursprünglich geladene dll aus.