I have an simple FM Radio Tuner App in Silverlight 5 Out-of-browser that calls code from a Native C++ DLL from my USB FM Receiver using PInvoke. This application works very
Unless it is a system DLL or otherwise locatable through the system path, you need to make sure that your DLL is copied to the same folder as your Metro application is deployed in.
I solved the problem by adding the native DLL to my Metro application project, ensuring that Build Action is set to Content and that Copy to Output Directory is set to Copy Always or Copy if Newer.