On 13/12/2017 02:52, Michael Powell wrote:
I have a native (unmanaged) C++ application that consumes a C# SDK using a C++/CLI wrapper. This is achieved using a wrapper similar to the one described here: http://pragmateek.com/using-c-from-native-c-with-the-help-of-ccli-v2/
You have the bridge entirely backwards. CLI does not bridge C# to C++. Rather, it bridges C++ to CLI.
It is true that the main intent of C++/CLI is to allow you to more easily call native code from a managed application, rather than the reverse. But the bridge can be used both ways, although there are some caveats related to AppDomains, decompilers, delegates, and garbage collection, which can surprise people. You also need to be really careful about what things you put in header files when they are being shared between native and managed code.