#c# #wpf #webbrowser-control
#c# #wpf #webbrowser-control
Вопрос:
У меня довольно простое приложение wpf. Отлично работает на моей машине. Но когда я устанавливаю его на другой компьютер, событие loadCompleted браузера не запускается. Основываясь на других подобных вопросах и ответах, я пробовал:
— использовать событие navigated вместо loadCompleted — тоже не срабатывает
— использовать браузер Windows form вместо браузера wpf — не срабатывает
— убедитесь, что приложение полностью загружено перед навигацией: попытался поместить вызов navigate в событие Loaded окна, даже на удачу ввел 5-секундный режим ожидания — не срабатывает
Как я уже сказал, на моей машине это работает как шарм, как из Visual Studio, так и при выполнении из командной строки.
Итак, я думаю, что это что-то о другой машине. Есть идеи, какие факторы окружающей среды помешали бы запуску событий loadComplete / Navigated?
Спасибо!
[отредактировано: только что попробовал это на компьютере другого сотрудника, и событие loadCOmpleted там также не запускается. Похоже, что это просто запускает событие на моей машине / компьютере, на котором оно построено. Не уверен, что это дает кому-нибудь ключ к разгадке этой маленькой неприятной тайны …)
Ответ №1:
Хорошо, ну, это слегка смущает. События действительно запускались, но мои сообщения messagebox не отображались. Прежде чем перейти к этому шагу, приложение обнаружило неустранимую ошибку. Были две проблемы, которые работали вместе, чтобы вызвать у меня дни невыразимой тревоги:
1) Я развернул отладочную версию своего приложения на двух удаленных машинах. Ни одна из этих машин не была машиной разработчика, и на них не было отладочной версии распространяемого пакета Visual Studio. Итак, попытка загрузить одну из моих DLL-файлов завершилась неудачей из-за зависимости от библиотек отладки.
2) При плохой обработке ошибок не удалось перехватить эту ошибку, поэтому просто выглядело так, как будто событие не запускалось.
Извлеченный урок: убедитесь, что у вас есть правильные попытки / уловы!!