Сбой сборки: aspnet_client\system_web\4_0_30319

У меня есть шаг сборки, который является частью моей конфигурации развертывания. Мой коллега сказал мне, что он работал однажды в голубой луне

Я продолжал последовательно получать эту ошибку, когда я запускал этот шаг сборки:

Deleting dirPath (qa.comedy.net\aspnet_client\system_web\4_0_30319). [15:22:22]: 

[VSMSDeploy] C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.\We
\Microsoft.Web.Publishing.targets(3588, 5): Web deployment task failed.((3/28/2012 3:22:22 PM) An error occurred when the request was processed on the remote computer.)

Attempt to perform an unauthorized operation on file '4_0_30319'.

Кажется, он пытается удалить папку aspnet_client\system_web\4_0_30319, но не имеет разрешения на.

мы запускаем эту сборку на виртуальной машине.

Любые предложения по устранению этого?

Приветствуется вся помощь.

Спасибо

Ответы

Ответ 1

У меня была проблема с развертыванием в качестве сайта с msdeploy и teamcity. Я решил это, удалив эти папки с моего сайта aspnet_client\system_web\4_0_30319

Ответ 2

Да, вы можете удалить эту папку, и следующее развертывание будет работать, но со следующим обновлением Windows, которое запускает инструмент регистрации asp.net, как часть его установки, добавит эту папку обратно ко всем сайтам asp.net в IIS (с неправильные разрешения), поэтому ваше развертывание снова не удастся. Вы можете избежать этого

  • Предоставление пользователям повышенных привилегий (не большое решение для очевидные причины)
  • Добавьте структуру папок в ваш SC, чтобы она развертывается вместо развертывания, пытаясь удалить его (не идеально, но проще)
  • Остановить автоматические обновления Windows (неразумно)
  • Возможно, вы сможете сделать что-то вроде этого http://blog.richardszalay.com/2012/12/18/demystifying-msdeploy-skip-rules/ игнорировать папку в развертывании (я не пробовал это)

Ответ 3

Как MemeDeveloper упоминает в своем ответе, один из способов исправить это - просто игнорировать этот каталог. В самом деле, это самое простое исправление и не требует добавления чего-либо в ваш репозиторий исходного кода или сборки. Просто добавьте следующее в команду msdeploy.exe:

-skip:Directory="aspnet_client"

Ответ 4

Я не использовал TeamCity, но я думаю, что у меня тоже была эта проблема. Я пытался развернуть Дисконтную ASP.NET с помощью VS2010 WebDeploy. После прочтения того, что доглин и дан отправили, я обнаружил, что могу решить эту проблему, установив флажок "Оставить дополнительные файлы в месте назначения (не удалять)". Это может быть не для всех, но это сработало для меня.

Ответ 5

У меня возникла та же проблема во время WebDeploy в TeamCity. Я в конечном итоге повышаю привилегии для учетной записи WebDeploy, под которой я выполняю задачу WebDeploy. Таким образом, у учетной записи достаточно полномочий для удаления этой папки (роль локального администратора).