Have a moderate size (40-odd function) C API that needs to be called from a C# project. The functions logically break up to form a few classes that will be API presented to the
Lots of good answers here - another perspective is the plan for the existing C API. Arguments for using PInvoke include:
Arguments for using C++/CLI include:
In this case you can start with C++/CLI and then move more and more over to C#