#asp.net #iis #tfs #windows-server-2008 #web-deployment-project
Вопрос:
Я пытаюсь использовать проект веб-развертывания (VS 2008) в решении TFS для развертывания веб-сайта на сервере сборки (TFS 2008) для запуска модульных тестов на основе Интернета. По какой-то причине, которую я пока не могу понять, не удается создать виртуальный каталог:
Использование задачи «Создать виртуальный каталог «из сборки» C:Program ФайлыMSBuildMicrosoftWebDeploymentv9.0Microsoft.Веб-развертывание.Tasks.dll». Задача «Создать виртуальный каталог» Инициализация веб-сервера IIS… C:Program ФайлыMSBuildMicrosoftWebDeploymentv9.0Microsoft.WebDeployment.цели(667,5): ошибка : Доступ запрещен. C:Program ФайлыMSBuildMicrosoftWebDeploymentv9.0Microsoft.WebDeployment.targets(667,5): ошибка : Не удалось создать виртуальный каталог «abc». Выполнено выполнение задачи «CreateVirtualDirectory» — НЕ УДАЛОСЬ.
Пользователь TFSService, безусловно, входит в группу администраторов на машине сборки TFS (которая работает под управлением Windows Server 2008). Я не знаю, что еще может быть не так. Я проверил журнал событий, и там нет никаких подсказок. Я могу вручную создать виртуальный каталог на этой машине через консоль IIS без проблем.
Есть какие-либо идеи, в чем может быть проблема, или предложения о том, как это диагностировать дальше?
Ответ №1:
это должны быть разрешения…вы пробовали поместить службу TFSS в те же группы, в которых находитесь?
Ответ №2:
Работает ли учетная запись TFS с теми же правами, что и учетная запись, которую вы используете для подключения к IIS? Сделайте, как предложил Крейг, и переместите учетную запись TFS в группы, в которых вы участвуете.
Ответ №3:
Вы уверены, что сборка выполняется под идентификатором TFSService, а не под другим идентификатором, настроенным только для сборок, и которого может не быть в группе администратора? Я не делал ничего большего, чем просто играл с автоматическими сборками, так как я занимаюсь в основном сольной разработкой, но я помню, как настраивал отдельный идентификатор сборки, когда смотрел на это.
Ответ №4:
Я видел, как это происходило, когда сервер IIS не работал на порту по умолчанию. Я бы рекомендовал проверить IIS, чтобы узнать, работает ли он на порту 80, в качестве шага для дальнейшей диагностики вашей проблемы.
Ответ №5:
В конце концов мне удалось запустить развертывание, вызвав цель сборки _CopyWebApplication для веб-приложения из моего сценария сборки TFS (после создания виртуального каталога IIS вручную). Однако мне пришлось добавить дополнительную цель, чтобы скопировать связанные файлы в проект, поскольку встроенная цель _CopyWebApplication не включает их.