title: How do I find the source of a "A procedure imported by 'xxx.dll' could not be loaded." exception?
body: <p>I have been chasing this exception for the past week.</p>
  
  <p>Situation is:</p>
  
  <p>I have an application that is written in C# and built in Visual Studio 2010.
  The application includes a DLL that is a wrapper of an unmanaged code library.
  The unmanaged code is written in C++ and built in Visual Studio 2008.  This is required because the code references additional libraries (Qt) and that code targets WinCE version 5 (necessary due to devices supported in the field).</p>
  
  <p>I have tried many of the suggestions I have seen here, including using various dependency walkers (VS 2008 depends, dependency_walker, and Dependz) as well as other tools such as Reflector and Process Monitor from SysInternals.</p>
  
  <p>All of the tools either show no problems (Reflector) or old dependencies that are obsolete in my environment (Win 7) like DCOMP.DLL, GPSVC.DLL, &amp; IESHIMS.DLL.</p>
  
  <p>In the debugger, I can step through my code right up until I instantiate an object that references my Managed Wrapper DLL.  It does not step into the instantiation of the object, but throws the exception immediately.</p>
  
  <p>In Process Explorer (from SysInternals) I can see the Managed DLL loaded, along with the necessary subsidiary DLLs.  In Process Monitor (from SysInternals) at the point of the problem there are no stacks of not found messages.  It just fails.</p>
  
  <p>Any ideas or thoughts in finding this problem would be appreciated.</p>