COM-объект не может быть создан при обновлении клиентской версии .Net Framework - PullRequest
1 голос
/ 15 декабря 2010

У меня есть консольное приложение .net и com-объект, который я хочу создать с помощью:

var t = Type.GetTypeFromProgID("myProgID");
var o = Activator.CreateInstance(t);

все работает нормально, когда клиентская платформа - .net framework 3.5, но вылетает, когда я обновляю номер версии до 4.0 с

Получение фабрики классов COM для компонента с CLSID {xxx-xxx} не удалось из-за следующей ошибки: 80004005 (E_FAIL)?

COM-объект создан с использованием .Net Framework 3.5

Что мне сделать, чтобы мой объект Com был пригоден для использования?

Заранее спасибо!

Ответы [ 3 ]

1 голос
/ 15 декабря 2010

Сообщение об ошибке безнадежно, вам нужно отладить COM-сервер, чтобы увидеть, что идет не так. Если у вас нет исходного кода для этого, вы можете получить что-то из трассы, которую вы получаете от ProcMon от SysInternals. На самом деле вам нужна помощь поставщика или автора компонента.

1 голос
/ 15 декабря 2010

Ответ был - Avira Antivirus!

Другая проблема с антивирусом описана здесь: (SEH) Исключительная ситуация инициализации Nlog

Я удалил это и обнаружил, что все стало хорошо!

0 голосов
/ 15 декабря 2010

Похоже, что GUID изменился.Вы уверены, что он ищет правильный GUID и что COM-объект зарегистрирован с этим GUID?

...