Помогите с загрузкой .Net DLL из c ++ / Cli - PullRequest
0 голосов
/ 27 марта 2011

У меня есть .Net DLL, которую мне нужно вызвать из стороннего приложения.Стороннее приложение не поддерживает загрузку управляемых библиотек DLL, поэтому я использую библиотеку DLL c ++ / CLI, которая предоставляет собственную функцию c ++ для вызова приложением, как показано ниже.

Стороннее приложение -> c ++ / cliDLL -> .Net DLL

Моя проблема заключается в том, что мой c ++ / Clill dll вылетает с ошибкой «Нарушение прав доступа» при попытке вызвать функции из .Net dll.Эта проблема не возникает, если я вызываю .Net DLL напрямую из консольного приложения VC ++.

Как вы думаете, мне не хватает некоторых зависимостей при создании dll c ++ / cli с параметром clr, установленным в true в Visual Studio??

Я последовал предложению Ганса Пассанта и отладил его.Оказывается, исключение, которое я получал, было «исключением файла не найдено».Мой сценарий

стороннее приложение -> c ++ / cli dll -> .Net управляемая DLL

Размещение управляемой DLL .Net в той же папке, что и у стороннего exe-файла, решило проблему.Теперь мой вопрос

«Могу ли я заставить DLL C ++ / CLI искать DLL-файл .Net по указанному пути вместо того, чтобы помещать DLL-библиотеку .Net в ту же папку, что и стороннее приложение?»."

Спасибо

1 Ответ

2 голосов
/ 27 марта 2011

Вам нужно будет его отладить.Щелкните правой кнопкой мыши проект в окне обозревателя решений, Свойства, Отладка.Установите в свойстве Command путь к EXE-файлу, который будет загружать вашу DLL.Установите аргументы команд и рабочий каталог, если необходимо.Установите точку останова для экспортируемой функции.Нажмите F5.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...