У меня есть приложение ASP.NET 4.6.1, которое я пытаюсь развернуть на удаленном веб-сервере с помощью TeamCity и MSBuild.Ниже приведен шаг сборки MSBuild в TeamCity.
![enter image description here](https://i.stack.imgur.com/Ffvej.png)
Когда я запускаю сборку в TeamCity, на этом шаге сборки всегда происходит ошибка с FILE_IN_USE_ERROR.Библиотеки DLL, которые обновляются до появления ошибки, обычно одинаковы, но иногда они отличаются.
[вывод MSBuild] Информация: файл обновления (MyApp \ bin \ roslyn \ Microsoft.VisualBasic.Core.цели).[10:35:23]
[вывод MSBuild] Информация: файл обновления (MyApp \ bin \ roslyn \ System.AppContext.dll).[10:35:23]
[вывод MSBuild] Информация: файл обновления (MyApp \ bin \ roslyn \ System.Collections.Immutable.dll).[10:35:23]
[вывод MSBuild] MSDEPLOY: код ошибки: ERROR_FILE_IN_USE [C: \ BuildAgent \ work \ b89cd3dfa447b \ MyApp \ MyApp.csproj]
I 'Мы уже прочитали много статей ( здесь , здесь , здесь и здесь ), предлагая мне удалить файл app_offline.htm перед тем, какразвертывание, чтобы IIS мог перенаправлять трафик и проблемы с блокировкой файлов прекратились.Я попробовал это, и это не работает.Я все еще получаю проблемы с использованием файла на этом этапе сборки.
Я также читал во многих других обсуждениях, что другим решением является остановка пула приложений, развертывание обновлений приложений и запуск пула приложений.Это нереалистичное решение, поскольку развертывание обычно длится от 15 до 20 минут.Кроме того, это не позволяет мне показывать приятные сообщения всем текущим пользователям.
Я уже некоторое время читал об этом, и похоже, что это распространенный вариант использования для развертывания в IIS.веб сервер.Разве это не должно работать без блокировки файлов?Кто-нибудь знает какие-либо другие решения этой проблемы?