Отладка сервисной фабрики - PullRequest
1 голос
/ 10 апреля 2019

Когда я пытаюсь запустить службу SF из VS в режиме отладки, я получаю следующее:

Была предпринята попытка обновить приложение, но приложение версия не была изменена. Обязательно обновите версию в манифест приложения до обновления.

Где мне нужно вручную удалить этот сервис в SF explorer. Есть ли способ как-то пропустить этот шаг удаления, чтобы отлаживаемая служба просто «перезаписывала» старую?

Ответы [ 2 ]

2 голосов
/ 11 апреля 2019

Это происходит потому, что конфигурация для Режим отладки приложения установлена ​​неправильно. Вероятно, для этого параметра установлено значение , чтобы при остановке отладки приложение оставалось в Service Fabric, поэтому после первого развертывания приложение продолжит выполнение старого кода, развернутого на SF.

Ваш другой параметр установлен на Удалить приложение или Обновить приложение

Для справки, ваши варианты:

Режимы отладки приложения

  • Обновить приложение Этот режим позволяет быстро изменять и отлаживать код и поддерживает редактирование статических веб-файлов во время отладки. Этот режим работает, только если ваш локальный кластер разработки в режиме 1-узла. Это режим отладки приложения по умолчанию.
  • Удаление приложения вызывает удаление приложения после завершения сеанса отладки.
  • Автообновление Приложение продолжает работать после завершения сеанса отладки. Следующий сеанс отладки будет рассматривать развертывание как Обновить. Процесс обновления сохраняет все данные, которые вы ввели в предыдущий сеанс отладки.
  • Keep Application Приложение продолжает работать в кластере после завершения сеанса отладки. В начале следующей отладки сеанс, приложение будет удалено.

Этот документ объясняет более подробно.

2 голосов
/ 10 апреля 2019

Вы можете прикрепить отладчик к развернутым процессам приложения.Перейти к отладке -> Присоединить к процессу.Вы можете выбрать несколько услуг.Обратите внимание, что Visual Studio должен работать в режиме администратора.

Если вы хотите отлаживать код запуска службы, используйте Debugger.Launch().Этот метод заблокирует вызывающий код и предложит вам выбрать отладчик, вы можете выбрать работающий экземпляр VS.К сожалению, есть ошибка, и VS2017 не появляется в качестве опции.В качестве альтернативы, вы можете вызвать Thread.Sleep(<duration>) при запуске и быстро подключить отладчик, эта последняя опция всегда работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...