Ошибка развертывания нового реликвированного инструментального сайта для Azure от Github и VS.NET
Я получаю следующую ошибку:
Error: The process cannot access the file 'C:\DWASFiles\Sites\mywebsitename\VirtualDirectory0\site\wwwroot\newrelic\NewRelic.Agent.Core.dll' because it is being used by another process.
В файле Running deployment... log log при попытке развернуть сайт Azure от Github.
Поблагодарили бы за какие-либо указания относительно того, что может быть причиной этого.
UPDATE: Оказывается, это также не удается при публикации непосредственно из VS.NET со следующим:
1>C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Web\Microsoft.Web.Publishing.targets(4196,5): Warning : An error was encountered when processing operation 'Create File' on 'NewRelic.Agent.Core.dll'.
1>Retrying operation 'Update' on object filePath (mywebsitename\newrelic\NewRelic.Agent.Core.dll). Attempt 1 of 2.
1>C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Web\Microsoft.Web.Publishing.targets(4196,5): Error : Web deployment task failed. ((06/07/2013 23:54:58) An error occurred when the request was processed on the remote computer.)
Это работало раньше, и я не уверен, почему он остановился.
Ответы
Ответ 1
NewRelic рекомендует остановить веб-сайт, чтобы выгрузить файл и разрешить развертывание.
В качестве альтернативы вы можете установить COR_ENABLE_PROFILING на 0 в настройках вашего приложения на вкладке настройки, чтобы временно отключить профилирование, которое затем должно позволить вам продолжить развертывание, оставив веб-сайт полностью работоспособным.
Ответ 2
Вместо остановки веб-сайта вы можете временно отключить мониторинг "Новая реликвия" на вкладке "Настройка" на странице manage.windowsazure.com:
Настроить > аналитика разработчикa > выберите "ВЫКЛ" > "Сохранить"
Развертывание
Настроить > аналитика разработчикa > выберите "ADD-ON" > Выберите "Добавить" из выпадающего меню > Сохранить
Работала для меня, как с регулярным развертыванием из VS, так и с автоматической сборки из VSO.
Ответ 3
Это известная проблема с агентом New Relic.NET для веб-сайтов Azure при выполнении обновления агента. Обходной путь заключается в том, чтобы остановить веб-сайт для выпуска dll, завершить развертывание и затем перезапустить экземпляр.
https://newrelic.com/docs/dotnet/azure-web-sites#h2-1
Ответ 4
На самом деле это не решение, а больше рабочего процесса, в диалоговом окне публикации предварите изменения и снимите флажок в файле NewRelic.Agent.Core.dll, чтобы он не опубликовался.
Ответ 5
Ни один из этих ответов не работает для меня больше. У меня есть план сайта Azure Basic, который содержит несколько реальных веб-сайтов.
Если я не останавливаю сайт, я получаю указанную выше ошибку (используется newrelic.agent.core.dll)...
Если я остановлю веб-сайт (или все), я получаю сообщение о том, что конечная точка публикации недоступна.
Если я перейду на вкладку configure и отключу AddOn, мы все равно получим упомянутую выше ошибку (используется newrelic.agent.core.dll)...
В значительной степени мы просто переиздаем снова и снова с различными перестановками выше, пока не будет работать. Мне потребовались часы на днях, сегодня я провел 10 минут.
Ответ 6
Если вы используете webdeploy, вы можете настроить параметры webdeploy, чтобы он игнорировал файл. Однако, если вы это сделаете, вам придется вручную установить любые обновления для нового агента-реликвии.
У меня была аналогичная проблема с новым заблокированным файлом журнала реплик и была решена с помощью:
- Перемещение нового файла журнала реликвий в подкаталог веб-корня (например,\newreliclogs)
-
Добавление 2 строк в мою папку powershell script, которая настроила директиву пропуска для игнорирования всего каталога. например (где destBaseOptions имеет тип Microsoft.Web.Deployment.DeploymentBaseOptions
$skipDirective = new-object Microsoft.Web.Deployment.DeploymentSkipDirective( "NewRelicLog", "objectName = dirPath, absolutePath =. *\newreliclogs $" )
$destBaseOptions.SkipDirectives.Add($ skipDirective)
В зависимости от того, как вы используете webdeploy, конфигурация выполняется немного по-другому, я использовал следующие ссылки, чтобы помочь мне объединить их:
И я использовал powershell script из библиотеки развертывания Octopus в https://library.octopusdeploy.com/#!/step-template/actiontemplate-web-deploy-publish-website-(msdeploy).