Web Deploy возвращает 401 неавторизованным при публикации через [proj].deploy.cmd
У меня проблема с Web Deploy. Я просто не могу сгладить. Каждый раз, когда я пытаюсь опубликовать в WMSvc через команду [proj].deploy.cmd в пакете, я получаю "Удаленный сервер возвратил ошибку: (401)" Неавторизованный ". Команда выглядит так (проект называется" Web ", сервер называется" AutoDeploy"):
Web.deploy.cmd /Y /M:https://AutoDeploy:8172/MsDeploy.axd -allowUntrusted
Я могу опубликовать текст в https://AutoDeploy:8172/MsDeploy.axd через Visual Studio, поэтому служба определенно работает, и я могу успешно пройти аутентификацию для него как администратора. Выполнение этого локально на машине против пакета при входе в систему как администратор (это всего лишь небольшой локальный Win 2k8 VPC) не работает и добавление /U и/P параметров с учетной записью администратора ничего не делает.
Я включил неудачную трассировку запроса и получаю этот вывод, так что, по крайней мере, есть что-то, что можно отнести но, к сожалению, я не могу определить, что является основной причиной. Я пытаюсь подключиться к той же службе с теми же учетными данными, что и в Visual Studio, но, очевидно, что-то другое.
Просто из интереса я могу опубликовать информацию в службе агента веб-развертывания (MsDepSvc) следующим образом:
Web.deploy.cmd /Y /M:http://AutoDeploy/MsDeployAgentService /U:AutoDeploy\Administrator /P:...
Но я действительно хочу запустить WMSvc! Любые мысли?
Ответы
Ответ 1
Вышеупомянутый комментарий выше меня указал в правильном направлении. После того, как вы создали многострочный вывод "Подробно", а также установили UseMsdeployExe в true в .csproj(еще один отзыв из Sayed blog), я нашел команду созданный Visual Studio, устанавливал тип аутентификации на базовый, что ретроспективно, очевидно с учетом простого имени пользователя и пароля.
Сообщение MSDN на Как установить пакет развертывания Используя файл deploy.cmd, вы можете просто добавить флаг "a" команду установить это. Короче говоря, вот как он теперь выглядит (и на самом деле работает):
Web.deploy.cmd /Y /M:http://AutoDeploy/MsDeployAgentService /U:AutoDeploy\Administrator /P:... /A:Basic