Я унаследовал сопровождение сложного управляемого / неуправляемого проекта, и я надеюсь, что смогу задать этот вопрос кратко .....
У меня есть неуправляемый класс (C ++), к которому я пытаюсь получить доступчерез управляемый код (C #).Это достигается следующим образом:
- Неуправляемый класс (Prop) скомпилирован в неуправляемую dll (PropUnmanaged.dll)
- PropUnmanaged.dll зарегистрирован с regsvr32
regsvr32 / s PropDLL - Классы и типы в PropDLL подвергаются воздействию управляемого кода с использованием tlbimp
Это создает управляемую DLL (PropTypesManaged.dll)
Эта dll не зарегистрирована ни в regasm, ни в gacutil - Управляемый класс (MClass), пытающийся получить доступ к Prop, реализован в проекте, в котором одна из его зависимостей - PropTypesManaged.dll
- Проект, реализующий MClass, завершается неудачно с сообщением об ошибке
ПолучениеФабрика класса COM для компонента с CLSID {1EAD9D36-495C-44B2-8559-A6570E1ECE34} не выполнена из-за следующей ошибки: 80040154
GUID 1EAD ... ссылается на GUID открытого управляемого типакласса Prop, сгенерированного tlbimp.Он находится в реестре
Веб-поиск по коду ошибки смутно свидетельствует о том, что что-то пошло не так с шагом regsvr32, но моя система сообщает, что этот шаг выполнен успешно OK
С чего начать отладку?