Отладка функций развертывания ClickOnce - PullRequest
5 голосов
/ 26 августа 2009

Я развертываю приложение C # .NET с помощью ClickOnce и написал код для программного обновления приложения (не используя опцию в настройках публикации проекта).

Однако я хочу проверить функциональность этого кода перед развертыванием (по понятным причинам). Как мне это сделать? Код проверяет, развернуто ли приложение по сети, и при запуске сеансов отладки этот флаг имеет значение false. А доступ к ApplicationDeployment.CurrentDeployment приводит к возникновению исключения.

Ответы [ 2 ]

10 голосов
/ 21 февраля 2013

Вы можете отладить его после добавления такого кода:

System.Diagnostics.Debugger.Launch();

Появится диалоговое окно, позволяющее выбрать отладчик для подключения.

4 голосов
/ 26 августа 2009

Интересно, не могли бы вы опубликовать его на своем dev-сервере, запустить его оттуда (таким образом, он считается развернутым в сети), а затем подключить IDE к процессу? (Отладка -> Присоединить к процессу)

Если ваш код обновления запускается рано в системе, вы можете ввести паузу; например, я склонен использовать шаблон, который проверяет (в Main) на ctrl + alt и отображает дополнительную консоль отладки (например, отображая вызовы веб-службы как они случаются, облегчая отладку проблем с подключением в работающей системе, проводя пользователей через «удерживайте эти ключи ... что теперь они говорят, когда возникает ошибка?»). По той же логике вы могли бы показать MessageBox («отладочный метод; присоедините ваш отладчик сейчас»).

...