Загрузка браузера WPF завершена / навигация не запускается на НЕКОТОРЫХ машинах

#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) При плохой обработке ошибок не удалось перехватить эту ошибку, поэтому просто выглядело так, как будто событие не запускалось.

Извлеченный урок: убедитесь, что у вас есть правильные попытки / уловы!!