Использование класса библиотеки C # (dll) из исполняемого файла c зависает на GSHandle (^)

Хорошо, прежде чем сказать, что я не могу этого сделать, давайте поговорим о том, что я могу сделать …
Я могу вызвать библиотеку C # из исполняемого файла C ++. (сделали это в этом проекте)
Я могу вызвать библиотеку C ++ из C. (Это не должно быть сюрпризом)

Таким образом, соединяя три этих кода с кодом C ++, вызывающим библиотеку C #, и кодом C, вызывающим одну и ту же библиотеку C ++, поток выполнения c захлебывается / падает на GSHandle (^). Кто-нибудь видел это? Помимо попыток прыгнуть по великому каньону, есть ли что-то, что я пропустил, что будет препятствовать этому когда-либо работать?

Мой код? … Хм работает библиотека C ++ из C # работает. Запуск библиотеки c ++ из c работает, если я удаляю все ссылки, используя мой класс c # и GCHandle (^). Я сохраню отбраковку кода для его представления здесь, пока я не расстроюсь еще больше … А теперь давайте скажем, что c ++ основан на проверенном ответе здесь: Как вызвать библиотеку C # из Native C ++ (используя C ++ \ CLI и IJW)

0

Решение

Я получил его на работу сейчас. Я не могу сказать однозначно, но подозреваю, что это была одна из трех возможностей.

1) C-код задыхался от класса, который я пытался использовать из C-кода. Я полностью удалил структуру класса из моей обертки c и использовал только функции. (Ясно, что я был далеко от c слишком долго.)

2) Код выдавал ошибку компоновщика при сборке в среде сборки компании.

3) сборки кода не были найдены для библиотеки.

Правда состоит в том, что все три пошли не так с моим кодом, и любой из них мог быть причиной сбоя.

0

Другие решения

Других решений пока нет …