I recently had to wrap some c++ code in .NET. Although the c++ code was packaged as a dll, the interface was too unfriendly for P/Invoke, so I decided to write it in managed c++, or C++/CLI as it is apparently known now.
I found this tutorial very useful on the syntax. It's not so easy on the eye, but the content seemed pretty good.