views:

287

answers:

3

I deployed an update to my ASP.NET application and started seeing this error on my page that used foo.dll:

Unable to load foo.dll. The specified module could not be found. (Exception from HRESULT: 0x8007007E)

foo.dll is in my system32 and application bin directory (which are in the path environment variable).

What gives?

+1  A: 

It turns out that foo.dll depended on another dll which was missing.

I used Dependency Walker to discover which files were missing. Once I copied over the missing files, the page started working fine.

Michael Haren
In my case, the missing file was MSVCP71.DLL, which was installed on the dev box by VS.NET.
Michael Haren
+1  A: 

Any time you have issues loading assemblies, reach for the fusion log.

Will
A: 

Fuslogvw, as Will said. Often the issue is not that foo.dll is not found, but that one if foo.dll's dependencies is missing. This is often the C Runtime library if this is an unmanaged DLL (you need the correct version for the Visual Studio version you are building with, as well as the corresponding debug or release version depending on your build configuration).

jlew