У меня есть приложение ASP.NET 4.6.1, которое я пытаюсь развернуть на удаленном веб-сервере с помощью TeamCity и MSBuild. Ниже показан этап сборки MSBuild в TeamCity.
Когда я запускаю сборку в TeamCity, на этом этапе сборки всегда происходит сбой с FILE_IN_USE_ERROR. Библиотеки DLL, которые обновляются до ошибки, обычно одинаковы, но иногда они разные.
[MSBuild output] Info: Updating file (MyApp\bin\roslyn\Microsoft.VisualBasic.Core.targets). [10:35:23]
[MSBuild output] Info: Updating file (MyApp\bin\roslyn\System.AppContext.dll). [10:35:23]
[MSBuild output] Info: Updating file (MyApp\bin\roslyn\System.Collections.Immutable.dll). [10:35:23]
[MSBuild output] MSDEPLOY : error Code: ERROR_FILE_IN_USE [C:\BuildAgent\work\b89cd3dfa447b\MyApp\MyApp.csproj]
Я уже прочитал много статей (здесь, здесь, здесь и здесь), в которых предлагалось удалить файл app_offline.htm перед развертыванием, чтобы IIS мог перенаправить трафик и решить проблемы с блокировкой файлов. Я пробовал это, и это не сработало. У меня все еще возникают проблемы с использованием файла на этом этапе сборки.
Я также читал во многих других обсуждениях, что другим решением является остановка пула приложений, развертывание обновлений приложений и запуск пула приложений. Это нереалистичное решение, поскольку развертывание обычно длится от 15 до 20 минут. Кроме того, это не позволяет мне показывать приятное сообщение текущим пользователям.
Я читал об этом некоторое время, и похоже, что это распространенный вариант использования для развертывания на веб-сервере IIS. Разве это не должно работать без блокировки файлов? Кто-нибудь знает какие-нибудь другие решения этой проблемы?
У меня такая же проблема :( Это очень странно, учитывая, что файл .csproj не развертывается, не используется и даже не на сервере. Это, должно быть, ошибка. Но это мешает публикации! Я просто делаю веб-развертывание на сервере IIS с ядром asp





Я бы попытался остановить пул приложений, чтобы узнать, не является ли это основной причиной проблемы.
Но я не уверен, почему он не работает в файле .csproj, потому что обычно вы не развертываете их на сервере. Таким образом, либо он не работает в другом файле (который фактически используется веб-приложением), либо он не работает во время сборки, а не развертывания (чем остановка пула приложений не повлияет).
У меня была та же проблема, что и у него, и это сработало отлично, я перезагрузил свой сервер Windows
Интересно ... Я только начал получать ту же самую проблему. Я запускаю MSBuild.exe с аналогичными параметрами. Я только что обновился до последней версии teamcity.