Как решить TYPE_E_ELEMENTNOTFOUND (0x8002802B) ошибку при загрузке старой DLL? - PullRequest
0 голосов
/ 12 февраля 2019

Я пытаюсь использовать старые DLL-библиотеки VB6 в решении VS2017, но одна из них начала давать сбой на прошлой неделе.

Я зарегистрировал их (regsvr32), добавил ссылки в решение ипытался использовать методы внутри них.

Все шло нормально, когда я закрыл свой VS2017 на обеденный перерыв в пятницу, и когда я попытался возобновить свою работу, одна из библиотек DLL начала плохо себя вести. ошибка, как будто ее даже нет, и, очевидно, я не могу получить доступ к методам внутри ее класса.

Местоположение не является проблемой здесь (пробовал использовать его из System32 и SysWOW64 без удачи),и он все еще показывает

Не удалось определить зависимости ссылки COM «prjPermisos».Элемент не найден.(Исключение из HRESULT: 0x8002802B (TYPE_E_ELEMENTNOTFOUND))

предупреждение (даже не ошибка, но IDE все еще не позволяет мне использовать DLL.)

Мой код такой же простойкак может быть:

prjPermisos.clsCarPermisos carPermisos = new prjPermisos.clsCarPermisos();
carPermisos.CargaPermisos(ref oUsuario, ref sError);   //<--"are you missing a using directive or an assembly reference?" error

Очистил (как с помощью IDE, так и вручную) решение, Перестроил, Построил решение и все еще ничего.

Я уверен, что что-то здесь упустил, япросто не знаю что.

Любая помощь или руководство в правильном направлении очень ценится.

1 Ответ

0 голосов
/ 12 февраля 2019

решаемая.Давайте поблагодарим Мюррея Фоккрофта за идею.

Запустил и перекомпилировал проект DLL, заменил неисправный DLL и все снова заработало.-_-

...