Я пытаюсь опубликовать лазурное веб-задание из VisualStudio, но происходит сбой с ошибкой
Произошла ошибка при обработке операции «Создание каталога».
на D: \ home \ site \ wwwroot \ app_data. Код ошибки был 0x80070002.
Не удалось найти файл 'D: \ home \ site \ wwwroot \ app_data'. в
Microsoft.Web.Deployment.NativeMethods.RaiseIOExceptionFromErrorCode (Win32ErrorCode
errorCode, String MaybeFullPath) в
Microsoft.Web.Deployment.DirectoryEx.CreateDirectory (String path)
в Microsoft.Web.Deployment.DirPathProviderBase.CreateDirectory (String
fullPath, источник DeploymentObject) в
Microsoft.Web.Deployment.DirPathProviderBase.Add (DeploymentObject
source, Boolean whatIf) Не удалось развернуть публикацию.
Когда я захожу в это WebApp на портале и открываю терминал, я не вижу папку web_app. И когда я пытаюсь создать его с помощью mkdir
, он не работает с
Система не может найти указанный файл.
Я проверил это немного больше - и я не могу создать там никаких папок!
Почему папка wwwroot
может быть заблокирована?
Если я попробую то же самое с другим WebApp - все отлично работает. Я не хочу воссоздавать веб-приложение
UPDATE
Приложение развернуто с параметром WEBSITE_RUN_FROM_ZIP = 1. И это веб-приложение .NetCore 2.1.
Итак, следующий вопрос:
1) Как добавить приложение WebJob для публикации в тот же пакет, что и веб-приложение, с помощью команды dotbet publish? (аналогично https://stackoverflow.com/a/50046561/1300049)
2) Или как развернуть WebJob в альтернативном месте, например d:\home\site\jobs\
в VSTS?
ОБНОВЛЕНИЕ 2
Нашел обходной путь, который мне не очень нравится. Но это работает. Но я более чем открыт для лучших решений.
Этот ответ основан на 2 ответах (https://stackoverflow.com/a/40049524/1300049 и https://stackoverflow.com/a/46661421/1300049), перечисленных ниже:
1) На этапе сборки соберите все решение, используя MSBuild, с магическими аргументами, аналогичными приведенным в этом ответе - https://stackoverflow.com/a/46661421/1300049
2) Затем, все еще в фазе сборки, запустите dotnet publish для проекта webapp, но без архивирования
3) В качестве окончательного соглашения о сборке скопируйте «app_data» веб-задания (из шага 1) в папку публикации веб-приложения (шаг 2) и объедините все вместе.
4) На этапе выпуска разверните, используя артефакты, как обычно. Просто убедитесь, что вы удалили все свои предыдущие попытки решить проблему, используя переменную среды "WEBJOBS_ROOT_PATH" ...