2010-12-15 1 views
1

У меня есть .net консольное приложение и COM-объекта Я хочу создать экземпляр с помощью:COM объект не может быть создан при обновлении клиента .Net Framework версии

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

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

Из-за ошибки, произошедшей из-за ошибки: 80004005 (E_FAIL), из-за ошибки сборки COM-класса для компонента с CLSID {xxx-xxx}?

COM объект построен с .Net Framework 3.5

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

Спасибо заранее!

+0

Вы используете 64-разрядную версию Windows? И он снова работает при переключении на .NET 3.5? – 2010-12-15 13:36:06

+0

Нет. Это Windows XP на 32-битной платформе – 2010-12-15 13:39:56

ответ

1

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

Другая проблема с антивирусом описана здесь: (SEH)Exception initializing Nlog

Я демонтирована, что и выяснил, что все стало нормально!

0

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

+0

Все, что я делаю - изменение версии приложения .net. GUID остается неизменным. – 2010-12-15 13:36:45

1

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