1. Wrap your unmanaged C/C++ code in a static library. 2. Make a Managed C++ DLL project, with all the Managed C++ wrapper classes. Link with the static library created in 1. 3. Use the DLL created in step 2, in a C# project of your choice. It will work 100%.