Я работал над интеграцией некоторых элементов управления, которые вызывают COM-классы, в клиент Silverlight. Поскольку мои элементы управления используют COM, они работают только вне браузера. У клиента не включены параметры установки из браузера, и когда я запускаю клиент из Visual Studio, я могу щелкнуть его правой кнопкой мыши и установить на рабочий стол. Кажется, что все работает нормально. Странно то, что мои элементы управления не работают, когда они не работают в браузере - я получаю сообщение об ошибке, что COM-сервер не может быть запущен.
Незнакомая часть заключается в том, что если я захожу в свойства клиента и устанавливаю для параметра «Действие запуска» из «Динамически создать тестовую страницу» значение «Из приложения браузера», мои элементы управления работают нормально, и я не получаю ошибок COM. Так что, думаю, я не понимаю разницы между установкой приложения на рабочий стол через меню, вызываемое правой кнопкой мыши, и настройкой запуска приложения как приложения вне браузера. Есть идеи, что здесь происходит?
Редактировать
Похоже, это может быть связано именно с отладкой. Если (в Visual Studio) я выберу Отладка-> Начать отладку, мой код COM работает. Если я выберу Отладка-> Начать без отладки, это не сработает. Он также не работает, если установлен непосредственно из файла XAP.