System.InvalidCastException: QueryInterface for interface
От: Аноним  
Дата: 20.08.04 08:08
Оценка:
Есть прога на C#, которая использует COM объект.
При создании проекта Windows Applications и использовании этого объекта всё нормально.
Сделал сервис на C#, который практически аналогичен первому проекту, компилится всё нормально, но во время запуска сервиса появляется следующая ошибка:

Service cannot be started. System.InvalidCastException: QueryInterface for interface RTCCore.IRTCClient failed.
   at RTCCore.RTCClientClass.Initialize()
   at LCSStatusService.RTCPresenceCore..ctor(IRTCPresenceUI presenceUI)
   at LCSStatusService.LCSStatusService.OnStart(String[] args)
   at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)

Как такое победить?
Re: System.InvalidCastException: QueryInterface for interfac
От: TK Лес кывт.рф
Дата: 20.08.04 12:37
Оценка: 30 (1)
Здравствуйте, Аноним, Вы писали:

А>Есть прога на C#, которая использует COM объект.

А>При создании проекта Windows Applications и использовании этого объекта всё нормально.
А>Сделал сервис на C#, который практически аналогичен первому проекту, компилится всё нормально, но во время запуска сервиса появляется следующая ошибка:

А>Как такое победить?


Проверь потоковые модели. У Windows.Forms это обычно STA, а у сервиса MTA. Если текущая модель и модель объекта не совпадут, а маршаллиг осуществить нельзя (например tlb не зарегистрирована или интерфейс локальный), то будет InvalidCastException
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[2]: System.InvalidCastException: QueryInterface for inter
От: giorgi2282  
Дата: 18.11.06 11:30
Оценка:
Здравствуйте, TK, Вы писали:

TK>Здравствуйте, Аноним, Вы писали:


А>>Есть прога на C#, которая использует COM объект.

А>>При создании проекта Windows Applications и использовании этого объекта всё нормально.
А>>Сделал сервис на C#, который практически аналогичен первому проекту, компилится всё нормально, но во время запуска сервиса появляется следующая ошибка:

А>>Как такое победить?


TK>Проверь потоковые модели. У Windows.Forms это обычно STA, а у сервиса MTA. Если текущая модель и модель объекта не совпадут, а маршаллиг осуществить нельзя (например tlb не зарегистрирована или интерфейс локальный), то будет InvalidCastException


Здравствуйте, у мена тоже такая проблема, я нарисал DLL на C# который использует COM объект а сервис использует мой DLL, сервиса я не писал. как мне решит проблему?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.