Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

the specified module could not be found 0x8007007E

Tags:

Inside the constructor of a Form when I am stepping through my code, a method declared in the very same form is called. Before I can step inside the method, I get a System.IO.FileNotFoundException with message "The specified module could not be found. (Exception from HRESULT: 0x8007007E)". The member method I try to enter is declared unsafe because it deals with unmanaged C++ code, but like I said I can never step into the method anyways.

Since it sounds like a DLL dependency issue, I ran Dependency Walker. Dependency walker only shows problems with MPR.DLL under SHLWAPI.DLL. The problem method is WNetRestoreConnectionA which I never call. The dependency walker FAQ suggests that this is not a problem http://dependencywalker.com/faq.html. Also, this is not a web application or anything. I am unfortunately stuck with VS2005.

What are some possible reasons for this problem to occur? Any ideas on what I could be missing or how I could debug this problem?

like image 634
insipid Avatar asked Jan 14 '10 17:01

insipid


People also ask

How do I fix Hresult 0x8007007E?

If you are receiving this error message at the startup of the computer, place the computer in clean boot state and check if any third-party program is causing this issue. Putting your system in clean boot state helps in identifying if any third party applications or startup items are causing the issue.

How do I fix system Dllnotfoundexception?

Simply, check pending updates, install them and/or restart Windows. After that frozen dll-s are freed and problems gone.


2 Answers

Are you running dependency walker in profiling mode, or just static analysis? Profiling mode is what you need for this I think. But there are better solutions I believe.

You could try SysInternals ProcMon. This will allow you to see what file it is trying to load at least, and from there you might be able to figure out what the problem is.

My advice would be to fire it up, then turn off logging. Get to the point where the exception is about to happen, reenable logging, step over in the debugger so the error is generated, then disable logging again. This will leave you with only a small amount of log to deal with, otherwise it can get quite unwieldly quite quickly.

like image 112
Sam Holder Avatar answered Oct 02 '22 19:10

Sam Holder


The error is occurring when the .Net runtime JITs the method you're about to step into, because it couldn't find one of the types used by the method.

What exactly does the method that you can't step into do, and what types / methods does it use?

like image 26
SLaks Avatar answered Oct 02 '22 20:10

SLaks