То, что я делал в прошлом, очень похоже на статью MSDN
Создайте класс C ++ и убедитесь, что для параметров компилятора для этого файла cpp установлено значение «No Common Language RunTime Support»
Затем используйте pimpl для ссылки на этот класс C ++ в классе C ++ / CLI, убедившись, что в этом файле cpp включена поддержка Common Language RunTime Support (/ clr).
Выводом будет библиотека DLL, которую вы можете использовать в существующем коде .NET.
Из опыта я убедился бы, что интерфейс, который вы создаете в классе-оболочке, имеет только double, int и т. Д., А нессылаться на любые классы C ++.
@ Билл, чтобы использовать эту DLL-оболочку в некотором коде C #, просто добавьте ссылку на DLL с помощью «Добавить ссылку».Вы сможете вызывать все общедоступные функции так, как вы ожидаете.