I've been working on a C++ project recently that involved creating a DLL. Although I had unit tests to pummel the objects that were used inside the DLL I wanted an easy way to test the DLL itself through its interface. I chose to create a C# Winforms app that used the DLL using interop.
Really easy to do:
[DllImport("YourDll.dll")]
public static extern int MyFoo(string bar);
There's heaps of documentation out there for this kind of stuff. Suffice to say that the .NET framework goes to great lengths to make this happen as easily as possible.
One gotcha that I ran into though was that initially the JIT compiler threw an exception - a DllNotFoundException. I checked to ensure that the DLL and EXE were in the same directory, I used dumpbin to ensure that the DLL was correctly exporting the expected symbols etc...couldn't figure out what was wrong.
Turns out that my DLL had a dependency on another DLL that wasn't in the path. Unfortunately the exception doesn't give you any further useful information so watch out for this problem.