I'm having exactly the same problem as the poster in this question. I have a visual studio C# projects from which I'm trying to call a function in another DLL (which is also part of the solution).
The DLL is a C++ one and the exported function I'm trying to call is declared like this in C#:
[DllImport("SomeDLL.dll")]
private extern static IntPtr SomeFunction(IntPtr someVar1, IntPtr someVar2, bool someVar3);
When I try to call the function from C# I see the following on the console output in the debugger:
'MyApp.exe': Loaded 'C:\SomePath\Build\Eddy\Debug\SomeDLL.dll'
'MyApp.exe': Unloaded 'C:\SomePath\Build\Eddy\Debug\SomeDLL.dll'
'MyApp.exe': Loaded 'C:\SomePath\Build\Eddy\Debug\SomeDLL.dll'
'MyApp.exe': Unloaded 'C:\SomePath\Build\Eddy\Debug\SomeDLL.dll'
And I the get the following error dialog:
Unable to load DLL 'SomeDLL.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
The code in question works fine on my colleagues windows XP machine. There's also another C++ DLL in the solution which works fine.