80040154 Класс не зарегистрирован - PullRequest
0 голосов
/ 06 мая 2020

У нас есть старый asp. net веб-сайт, созданный на 32-битной платформе с использованием. net framework 2.0. Этот asp. net веб-сайт использует стороннюю com dll (testx.dll) вместе с interop dll (testx.Interop.dll) для одной функции. И код для доступа к этой dll был написан в файле cs, который находится в папке App_Code в проекте. Он был развернут на 32-битном windows сервере 2008, и здесь все работает нормально.

Сейчас мы обновляем это приложение до. net framework 4.7.1 с целевой платформой как 64-битной. машина. И это нам нужно развернуть на 64-битном Windows сервере 2016.

Я успешно зарегистрировал testx.dll, как показано ниже, и могу видеть запись в разделе Wow6432Node в реестре, regsvr32 .. \ testX.dll

Я столкнулся с указанной ниже проблемой при попытке получить доступ к классу в Com dll на моем локальном компьютере с помощью VS2015. Я также попытался изменить целевую платформу с Any CPU на x86, но получил ту же проблему.

"Получение фабрики класса COM для компонента с CLSID {D00D7FB0-5997-11D4-8153-00E07D01A2E0} не удалось из-за следующая ошибка: 80040154 Класс не зарегистрирован (Исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)). "

И, что удивительно, все работает нормально, когда я пытался проверить ту же самую com dll с помощью примера консольного приложения. Здесь снова используется платформа. net 4.7.1 с целевой платформой как Any CPU. Кроме того, он отлично работает с обеими целевыми платформами. Любой процессор или x86.

Не могли бы вы помочь, если мне что-то здесь не хватает?

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