MenüHomeBlogMagic

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.

Permalink: https://adirmeier.de/Blog/ID_293
Tags: Blog, c/c++, dll, Exception, Windowsvon am 2019-12-18