Как отключить веб-приложение во время публикации?
Очень часто, когда я ударяю публикацию в VS13, я могу скомпилировать сайт, но при загрузке я получаю сообщение об ошибке, говоря, что файл занят.
Обновление файла (MyAzureSite\PrecompiledApp.config).
C:...\v12.0\Web\Microsoft.Web.Publishing.targets(4255,5):
Ошибка ERROR_FILE_IN_USE: Не удалось выполнить задачу развертывания сети.
(Файл "PrecompiledApp.config" используется.
Узнайте больше: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_FILE_IN_USE.)
Когда я следую приведенной ссылке, она предложила мне пойти для включения правила appOffline. "Конечно!", - подумал я про себя. Но как?! Я искал его, только чтобы получить кучу хитов в файле, который должен заменить сайт при публикации. Тем не менее, я не получаю информацию о том, как избавиться от моей маленькой проблемы.
Я пошел легко и загрузил профиль публикации с моего веб-сайта Azure, и теперь я его использую (вы знаете, ALT + B + H).
В настоящий момент я разрешаю проблему, перейдя на портал для Azure и вручную запустив сайт в автономном режиме. Затем я могу опубликовать, и после этого я забираю сайт в режиме онлайн. Очень непрактично и мучительно утомительно.
Что вызывает это и как его убить?
Ответы
Ответ 1
Фактически вы настраиваете его в профиле публикации (.pubxml). Просто добавьте элемент в PropertyGroup следующим образом:
<PropertyGroup>
<EnableMSDeployAppOffline>true</EnableMSDeployAppOffline>
...
</PropertyGroup>
Подробнее в этом документе MSDN
Ответ 2
Задача развертывания Azure App Service имеет флажок для этого (начиная с версии 2.0 и далее), в разделе Дополнительные параметры развертывания: Take App Offline. Проверьте это, и вам должно быть хорошо.
Возьмите приложение в автономном режиме: Выберите вариант, чтобы отключить веб-приложение AzureRM в автономном режиме, поместив файл app_offline.htm в корневой каталог веб-приложения до начала операции синхронизации. Файл будет удален после успешного завершения операции синхронизации.
Снимок экрана:
![введите описание изображения здесь]()