Когда я пытаюсь запустить службу SF из VS в режиме отладки, я получаю следующее:
An attempt was made to upgrade the application but the application's version has not been changed. Be sure to update the version in the application manifest prior to upgrading.
Где я должен вручную удалить эту службу в проводнике SF. Есть ли способ как-то пропустить этот шаг удаления, чтобы отлаживаемая служба просто перезаписывала старую?
Вы можете прикрепить отладчик к развернутым процессам приложения. Перейдите в «Отладка» -> «Присоединиться к процессу». Вы можете выбрать несколько услуг. Обратите внимание, что Visual Studio должен работать в режиме администратора.
Если вы хотите отладить код запуска службы, используйте Debugger.Launch()
. Этот метод заблокирует вызывающий код и предложит вам выбрать отладчик, вы можете выбрать работающий экземпляр VS. К сожалению, есть ошибка, и VS2017 не отображается как вариант. Кроме того, вы можете вызвать Thread.Sleep(<duration>)
при запуске и быстро подключить отладчик, этот последний вариант работает всегда.
Это происходит из-за неправильной настройки конфигурации для Режим отладки приложения. Вероятно, для параметра установлено значение оставить заявку в Service Fabric, когда вы прекращаете отладку, таким образом, после первого развертывания приложение продолжит выполнять старый код, развернутый в SF.
Ваш другой вариант установлен либо в Удалить приложение, либо в Обновить приложение.
Для справки, ваши варианты:
Application Debug Modes
- Refresh Application This mode enables you to quickly change and debug your code and supports editing static web files while debugging. This mode only works if your local development cluster is in 1-Node mode. This is the default Application Debug Mode.
- Remove Application causes the application to be removed when the debug session ends.
- Auto Upgrade The application continues to run when the debug session ends. The next debug session will treat the deployment as an upgrade. The upgrade process preserves any data that you entered in a previous debug session.
- Keep Application The application keeps running in the cluster when the debug session ends. At the beginning of the next debug session, the application will be removed.
Этот документ объясняет более подробно.
Можно ли сохранить этот параметр в файле sfproj?