Q:

Dynamically Loading A .NET DLL Wrapping A C++ DLL

I have a .NET library which wraps a C++ dll:
public class Wrapper
{
    public void CallFoo()
    {
        Foo();
    }

    [DllImport("Unmanaged.dll"), EntryPoint = "foo", CallingConvention = CallingConvention.Cdecl)]
    private static extern void Foo();
}

I am able to call the method if i add the wrapper dll to a .NET project. However, if i try to call the method dynamically as below, I got the DLLNotFoundException (which tells me "Unmanaged.dll" couldn't found).
Assembly assembly = Assembly.LoadFrom(@"C:\Wrapper.dll");
Type type = assembly.GetTypes()[0];
dynamic wrapper = Activator.CreateInstance(type);
wrapper.CallFoo();

In Visual Studio, "Unmanaged.dll" is not shown as loaded in Modules section. Therefore, i assume that i should find a way to load "Unmanaged.dll". 
I am open to any suggestion.
Edit: "Unmanaged.dll" is in the same directory as "Wrapper.dll".

A:

If your "Unmanaged.dll" is also dependent on another dll, you'll still get the same exception. It is kinda misleading, however if you will add the DLL's that are dependent to the working directory, your problem may be solved.

