Мы создаем веб-приложение для наших клиентов, используя шаблон ASP .NETZero, созданный на основе tnet core 3.1.x
Я пытаюсь создать конвейер выпуска в Azure DevOps и сталкиваюсь с проблемами, пока публикация изменений конвейера сборки в IIS аналогично тому, как я это делал для традиционных MVC5 или MVC6. NET Веб-приложения на основе фреймворка.
Самостоятельно размещенный агент devops работает на компьютере, отличном от рабочего сервера, на котором опубликовано веб-приложение, а учетная запись службы агента имеет доступ к общему пути \\ server \ inetpub-sharedhostingdir * Только 1006 *.
Традиционно, Копирование файлов * Задача 1010 * может заменить библиотеки DLL приложения и все другие файлы, но в .NETCore есть ошибка, подобная приведенной ниже:

Тогда я узнал, что это из-за изменений, как. NET Хостинг Core 3.1.x работает.
Я также пытался использовать ' OutOfProcess ' в web.config в веб-приложении, но все еще получал ту же ошибку, а затем я обнаружил эту SO запись и информацию о горячей замене DLL предоставлено @ MindingData.
Итак, моя текущая задача для преодоления этой проблемы - использование удаленного PowerShell на CD; Я могу остановить веб-приложение и опубликовать sh новый артефакт. Но за этот шаг приходится платить, я должен остановить сайт и заменить все библиотеки DLL, что может занять примерно 30 секунд.

Удаленный агент DevOps Azure не имеет доступа к этому прямо сейчас, но мы должны добавить исключения брандмауэра для этого.
Мне интересно, есть ли другая эффективная альтернатива веб-приложению publi sh .NETCore 3.1.x, использующему агент AzureDevOps, работающий на удаленном сервере? (поскольку доступ к производственному серверу ограничен, и мы не можем развернуть агент azure на производственном компьютере.)
Из-за этих проблем в настоящее время мне нужно вручную переместить все библиотеки DLL в «резервную копию» каталога, чтобы сделать хостинг каталог пуст, а затем, если я запускаю конвейер первого изображения, «Копирование файлов в» выполняется успешно и хорошо публикует приложение.
Есть предложения по улучшению CD в текущей среде?