.net-интерфейс к COM-серверу не работает с 0x80080005

, у меня есть собственный COM-сервер на C ++, который предоставляет COM-интерфейсы. Я могу успешно использовать собственное клиентское приложение C ++ для получения и использования открытых интерфейсов с сервера.

Когда я использую клиент .net со ссылкой на сервер, я получаю сообщение об ошибке:

Получение фабрики классов COM для компонента с CLSID {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} не удалось из-за следующей ошибки: 80080005 Ошибка выполнения сервера (исключение из HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)).

... даже несмотря на то, что COM-сервер запускается и работает успешно (и запускается всего за 1-2 секунды).

НО я получаю указанную выше ошибку только тогда, когда сервер зарегистрирован как локальный сервер. Если я зарегистрирую сервер как службу Windows, клиент .net сможет успешно получать и использовать интерфейсы без проблем.

Я делаю все это как администратор в 64-битной Windows 7. COM-сервер находится на локальной машине.

Я проверил приведенную ниже цепочку, но мне не было предложено ответов: Не удалось получить фабрику COM-классов для компонента с CLSID {XXXX} из-за следующей ошибки: 80080005

На данный момент потрачено полтора дня на эту ... в чем может быть проблема?

Подробнее информация:
Я работал с vs2005. Я недавно обновился до vs2010 и теперь столкнулся с этой проблемой. Я пробовал создать инфраструктуры таргетинга на клиентов .net 2.0, 3.5 и 4.0 с теми же результатами.

Спасибо

6
задан Community 23 May 2017 в 10:34
поделиться