Lately I had a wierd problem when working with .NET interop. Whenever I tried to load a native .dll file which is located in exactly the same folder as the executive file, ‘DllNotFoundException’ was thrown. 😦

In the end, using Process Monitor (from SysInternals), I could find what real problem was. While loading up that native .dll file, it again tried to load another dependent .dll files, and that other .dll file couldn’t be found by the system.

So, after copying all .dll files required, the problem could be fixed.