Application generates this marshal : UnmanagedType.LPStr I had to make a custom Marshaler like in this thread to get it to work: [Why can't I return a char* string from C++ to C#](https://stackoverflow.com/questions/6300093/why-cant-i-return-a-char-string-from-c-to-c-sharp-in-a-release-build) Hope this will be implemented in the future.