Подобные вопросы задавались несколько раз, но большинство ответов старые и могут применяться только частично.Этот вопрос относится только к использованию Web Deploy через Azure DevOps / Azure Pipelines с использованием задачи «Развертывание службы приложений Azure», версия 3. *.
Не удалось развернуть веб-пакет в службе приложений.
Попробуйте снова развернуть службу приложения с выбранным параметром Переименовать заблокированные файлы.
Код ошибки: ERROR_FILE_IN_USE
Дополнительная информация: Web Deploy не может изменить файл 'VBCSCompiler.exe' в месте назначения, посколькуон заблокирован внешним процессом.Чтобы разрешить операцию публикации, вам может потребоваться либо перезапустить приложение, чтобы снять блокировку, либо использовать обработчик правил AppOffline для приложений .Net при следующей попытке публикации.Узнайте больше: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_FILE_IN_USE.
Там есть две рекомендации:
- Выберите опцию «Переименовать заблокированные файлы»
- Перезапустите приложение
- Используйте правило AppOffline
Кроме того, документация для задачи повторяет рекомендации 1 и 3.
Чтобы избежать сбоя развертывания с ошибкойкод ERROR_FILE_IN_USE, если приложения .NET ориентированы на веб-приложение в Windows, убедитесь, что включены «Переименовать заблокированные файлы» и «Отключить приложение».Для развертывания без простоев используйте слот подкачки.
Однако эти рекомендации уже действуют.
Осталось только рекомендация 2: перезапустить службу.По многим причинам я не должен возвращаться к этому.
Почему 1 и 3 недостаточно для успешного завершения развертывания?