Hello. I have much experience with making wrappers for different programming languages.
I would offer yo write C++/CLI wrapper - it's .NET Wrapper but it's written with C++ (rather with .NET extension of C++),
It has follow advantages:
1) It's possible to add C++/CLI wraper DLL as reference - same as .NET DLL
2) There is easy to attach C++/CLI code to C++ code and with any native code, it makes writing wrapper much faster.
If, course it's possible to write pure C# wrapper instead C++/CLI wrapper, but it would take more time, and there are no advantages.