#visual-studio-2010 #iis #tfs #iis-7.5
#visual-studio-2010 #iis #tfs #iis-7.5
Вопрос:
Я получил эту ошибку при попытке запустить сборку из VS2010.
C:Program FilesMSBuildMicrosoftVisualStudiov10.0WebMicrosoft.Web.Publishing.targets (3588): Web deployment task failed.(Could not complete the request to remote agent URL 'https://http//[serverName]:8172/msdeploy.axd?site=Default Web Site'.) Could not complete the request to remote agent URL 'https://http//[serverName]:8172/msdeploy.axd?site=Default Web Site'. The remote name could not be resolved: 'http'
Я не уверен, почему он говорит «https://http //…»
Код возвращается на удаленный сервер TFS. Я создал определение сборки из VS Team Explorer, и это ошибка, которую я получаю при попытке создать / опубликовать проект. [Имя_сервера] выше — это сервер IIS, на котором должен быть опубликован мой проект.
Это аргументы MSBuild:
/p:DeployOnBuild=True
/p:DeployTarget=MsDeployPublish
/p:CreatePackageOnPublish=False
/p:MSDeployPublishMethod=WMSVC
/p:MSDeployServiceUrl=http://[serverName]
/p:DeployIisAppPath="Default Web Site/[site/app Name]"
Кто-нибудь сталкивался с такой же ошибкой?
кстати, я смог выполнить успешное веб-развертывание из самого VS Publish
Ответ №1:
Эдвард решил первую часть вашей проблемы.
Что касается части https: //, msdeploy по умолчанию выполняет действия безопасным способом. Чтобы отключить это, вы должны использовать команду -allowUntrusted .
для «легкого» чтения: http://weblogs.asp.net/scottgu/archive/2010/09/13/automating-deployment-with-microsoft-web-deploy.aspx
и
Комментарии:
1. 1. есть ли способ добавить команду allowUntrusted в определение сборки TFS? 2. кажется, это работает (только в графическом интерфейсе VS publish) с http://[Имя_сервера], но не с ([имя_сервера] и разрешить ненадежный). Я не уверен, что это моя локальная машина или сервер IIS не настроен правильно, потому что, похоже, ему не нравится использовать https
2. хорошо, поэтому я добавил /p:AllowUntrustedCertificate (который является эквивалентом вышеупомянутого -allowUntrusted arg для командной строки — спасибо Крису) в определение сборки TFS. конфигурация, а также /p: имя пользователя и /p: пароль и пока все хорошо … успешная сборка / публикация… Спасибо, ребята
Ответ №2:
Я почти уверен, что вам нужно либо указать только имя хоста для MSDeployServerUrl
параметра, либо полный URL-адрес для msdeploy. То есть либо:
/p:MSDeployServiceUrl=http://[servername]:8172/msdeploy.axd
или:
/p:MSDeployServiceUrl=[servername]
Последний будет переведен на https://[servername]:8172/msdeploy.axd
.
Комментарии:
1. ok..so по крайней мере, теперь это не отображается
https://http//
в ошибке… но знаете ли вы, почему он использует https?
Ответ №3:
Прошло некоторое время с момента открытия вопроса, но я столкнулся с той же проблемой, и она не была полностью решена с помощью ответов выше…
Что мне нужно было изменить, так это удалить протокол из MSDeployServiceUrl
/p:MSDeployServiceUrl=[servername]
И изменение MSDeployPublishMethod на RemoteAgent
/p:MSDeployPublishMethod=RemoteAgent
Надеюсь, это будет полезно для других.
Ответ №4:
Я создал профиль публикации с помощью web deploy и сохранил в TFS, а затем в моем определении сборки в аргументах MSBuild я добавил это:
/p:DeployOnBuild=True;PublishProfile=Web_Dev_WebDeployProfile /p:AllowUntrustedCertificate=True /p:username=myusername /p:Password=mypassword
У меня это сработало. Я также удостоверяюсь, что моя сборка имеет разрешение на опубликованную папку (виртуальный каталог)
Я также проверяю, что на моем веб-сервере запущены служба веб-управления и служба агента веб-развертывания.