система, с которой я работаю, состоит из:
- Внешнее приложение, написанное, скорее всего, на VB или на VC ++ (не знаю, не знаю и не может иметь исходников для него)
- Неуправляемый VC ++ .dll
- A C # .dll
Приложение вызывает первую dll, первая dll вызывает разные методы из второй.
Чтобы первая dll могла видеть и вызывать код C #, я следовал этому руководству:
http://support.microsoft.com/kb/828736
Единственное отличие состоит в том, что я не компилирую с / clr: OldSyntax, если я это сделаю, то при изменении других зависимых параметров компиляции первая dll загружается из приложения неправильно.
Все компилируется; изначально вся установка работала нормально, однако после полной разработки кода для двух библиотек я теперь получаю сообщение об ошибке в приложении. Ошибка:
Ошибка времени выполнения '-2147417848 (80010108)':
Ошибка автоматизации
Вызванный объект отключился от своих клиентов.
И происходит, когда в первой dll выполняется следующая строка:
MyManagedInterfacePtr ptrName(__uuidof(MyManagedClass));
Я попытался воспроизвести полностью рабочую настройку, но безуспешно.
Любые идеи о том, как, черт возьми, мне удалось сделать это в первую очередь?
Или, альтернативно, о других подходах к совместной работе двух библиотек?
Заранее спасибо!