| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Непонятная проблема с .NET и COM |
| Автор: DragonFire 5.7.2009, 15:16 | ||||||
| День добрый всем. Итак пишу COM сервер, который обрабатывает некие сообщения, поступающие от внешнего приложения. Есть два интерфейса (примеры немного упрощены здесь и далее):
И два класса, что реализуют эти интерфейсы:
Все это лежит в одной сборке, которая зарегана в системе. Далее в основной программе пишем такой код:
На строке _CallBack.RegisterEvent(_Events) на этапе выполнения вылазит ошибка что класс MyEvents не помечен как сериализуемый. Тогда помечаем его атрибутом [Serializable()]. После этого на той же стрке вылазит ошибка System.Runtime.Serialization.SerializationException was unhandled Message="Unable to find assembly" Я не понимаю как такое может быть, если оба класса MyEvents и MyCallBack лежат в одной сборке. Причем как СОМ - сервер она прекрасно работает и обрабатывает все запросы. Заранее спасибо! |
| Автор: DragonFire 6.7.2009, 09:16 | ||
| Отвечаю сам себе Необходимо было зарегестрировать COM сборку в GAC и после этого в реестре, вот так:
После этого залезть в диспетчер задач и учить dllhost.exe - все что запущены (обычно их два - от имени System и от пользователя). Теперь при запуске приложения все работает. Может кому-нибудь пригодиться... |