Ошибка развертывания нового реликвированного инструментального сайта для 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).