Доступ запрещен при создании виртуального каталога через проект веб-развертывания - PullRequest
3 голосов
/ 02 октября 2008

Я пытаюсь использовать проект веб-развертывания (VS 2008) в решении TFS для развертывания веб-сайта на сервере сборки (TFS 2008) для запуска модульных веб-тестов. По какой-то причине, которую я пока не могу понять, не удается создать виртуальный каталог:

Использование задачи «CreateVirtualDirectory» из сборки «C: \ Program Files \ MSBuild \ Microsoft \ WebDeployment \ v9.0 \ Microsoft.WebDeployment.Tasks.dll». Задача "Создать виртуальную директорию" Инициализация веб-сервера IIS ... C: \ Program Files \ MSBuild \ Microsoft \ WebDeployment \ v9.0 \ Microsoft.WebDeployment.targets (667,5): ошибка: доступ запрещен. C: \ Program Files \ MSBuild \ Microsoft \ WebDeployment \ v9.0 \ Microsoft.WebDeployment.targets (667,5): ошибка: Не удалось создать виртуальный каталог 'abc'. Выполнено задание «CreateVirtualDirectory» - СБОЙ.

Пользователь TFSService, безусловно, находится в группе «Администраторы» на компьютере сборки TFS (под управлением Windows Server 2008). Я не знаю, что еще может быть не так. Я проверил журнал событий, там нет никаких подсказок. Я могу вручную создать виртуальный каталог на этой машине через консоль IIS без проблем.

Есть идеи, в чем может быть проблема, или предложения по дальнейшей диагностике?

Ответы [ 5 ]

1 голос
/ 05 октября 2008

Работает ли учетная запись TFS с теми же привилегиями, что и учетная запись, используемая для подключения к IIS? Сделайте, как предложил Крейг, и переместите учетную запись TFS в группы, в которых вы участвуете.

1 голос
/ 05 октября 2008

это должны быть разрешения ... вы пытались поместить TFSService в те же группы, в которых находитесь?

0 голосов
/ 28 мая 2009

Мне в итоге удалось заставить развертывание работать, вызвав цель сборки _CopyWebApplication веб-приложения из моего сценария сборки TFS (после создания виртуального каталога IIS вручную). Я должен был добавить дополнительную цель, чтобы получить связанные файлы в проекте для копирования, так как встроенная цель _CopyWebApplication не включает их.

0 голосов
/ 08 октября 2008

Я видел, как это происходило, когда сервер IIS не работал на порте по умолчанию. Я бы порекомендовал проверить IIS, чтобы проверить, работает ли он на порту 80, в качестве шага для дальнейшей диагностики вашей проблемы.

0 голосов
/ 06 октября 2008

Вы уверены, что сборка выполняется под идентификатором TFSService, а не под другим идентификатором, настроенным только для сборок, и который может отсутствовать в группе администратора? Я сделал не только игру с автоматизированными сборками, так как я в основном занимаюсь индивидуальной разработкой, но я вспоминаю, как настраивал отдельный идентификатор сборки, когда смотрел на это.

...