63

Я пытаюсь использовать функцию публикации 1-Click VS2010 для развертывания тестового сайта с моего ноутбука на моем сервере. У меня отключен брандмауэр на обеих машинах, и служба развертывания MS работает и на моем ноутбуке, и на сервере.Не удалось выполнить задачу развертывания Visual Studio 2010

Однако, когда я пытаюсь и публиковать из VS2010 на моем ноутбуке, я получаю следующее сообщение об ошибке:

Error 1 Web deployment task failed.(Remote agent (URL https://192.168.1.181/:8172/msdeploy.axd?site=LocationsTest) could not be contacted. Make sure the remote agent service is installed and started on the target computer.)
The requested resource does not exist, or the requested URL is incorrect.
Error details:
Remote agent (URL https://192.168.1.181/:8172/msdeploy.axd?site=LocationsTest) could not be contacted. Make sure the remote agent service is installed and started on the target computer.
An unsupported response was received. The response header 'MSDeploy.Response' was '' but 'v1' was expected.
The remote server returned an error: (404) Not Found. 0 0 Test.Web

Любая идея, что я делаю неправильно здесь?

ответ

38

Убедитесь, что вы имеете WMSvc служба (служба Web Management) установлен на «Auto» (и начала) так что, когда вы перезапустите & проверить этот link

+19

Примечание - Имя службы: «MsDepSvc» - отображаемое имя «Служба агента развертывания веб-сайтов» –

+3

Посмотрите на решение ниже, так же важно. –

18

Убедитесь, что вы установили сайт/приложение правильно опубликовать профиль: Publish profile dialog in Visual Studio 2010

Вы получаете то же сообщение об ошибке, если вы неправильно указали сайт или имя приложения.

+1

Это было мое требование, у нас была система, которая была настроена по-разному (чем она должна быть), и я отправлялся в frikkin bonkers. –

+0

Pffft. «У вас такое же сообщение об ошибке, если вы неправильно написали сайт или имя приложения». Я такой идиот. –

+0

Да, если вы ошибочно подумали, что я сделал это, вы могли бы настроить новый сервер с веб-развертыванием - WRONG. Вам нужно как минимум переименовать «Веб-сайт по умолчанию» на фактический веб-сайт, который вы хотите опубликовать. (Или создать новый сайт, соответствующий этому имени.) Я думал, когда я опубликовал все это будет сделано для меня, но вместо этого публикация просто не удалась ... –

0

Это же сообщение будет происходить почти случайным образом при публикации проектов из Visual Studio 2010.

Исправление было удалить файл $projectname.Publish.xml (в корневой директории проекта) и заново создать его.

72

Перезапустить визуальную студию.

У меня это было несколько раз после успешного развертывания WebApp на сервере с IIS 7.5. Очевидно, что, поскольку развертывание/публикация была успешно завершена на сервере перед этой ошибкой, было очень мало, что могло бы пойти на неправильную настройку/настройку сервера (если предыдущее успешное развертывание не сделало что-то ужасно неправильное и удалило некоторые параметры конфигурации на сервер).

После перезагрузки сервера проверено, что служба веб-управления и служба веб-развертывания работают правильно, и проверено с помощью инструмента cUrl, что GET из MsDeploy.axd прошло успешно, осталось только одно. Перезапустите Visual Studio. Волшебный пост-перезапуск публикации VS снова начал работать. Все само по себе. Волшебный материал, это развертывание в Интернете :)

+4

КАЖДЫЙ ДОЛЖЕН ПОПРОБУЙ ЭТО ПЕРВЫЙ ПЕРЕД ПЕРЕХОДОМ ЧЕРЕЗ КОНФИГУРАТИВ СЕРВЕР N HOOPS! –

+1

Перезапустите Visual Studio ... просто! –

+0

Работал для меня! Заглядывая в CLI-развертывание, вместо этого ... – Toft

13

Хотя многие другие несвязанные вещи могут способствовать получению 404, я решил это для своего.

  1. При установке/переустановке установки WebDeploy, выберите Выборочная/Изменить, а затем убедитесь, что «Служба управления Делегирование UI» является одной из установленных опций, она не устанавливается по умолчанию, но требуется для WebDeploy работать (ошибка установщика).
  2. Используйте новый значок делегирования службы управления в узле «Сервер» диспетчера IIS, чтобы добавить роль «Развернуть приложения с контентом», приняв его по умолчанию. Но вы также можете указать параметр «Запустить как» с пользователем, который имеет права изменять настройки IIS.
  3. Перезапустите службу веб-управления.

После этого все работает нормально. Предполагая, что служба веб-управления настроена правильно (мой настроен на прием удаленных подключений, порт брандмауэра был открыт, а пользователь, с которого я загружался, был добавлен на каждый отдельный сайт, который я хочу развернуть (с помощью значка IMS Manager Permissions на каждом узле сайта в диспетчере IIS)).

+2

+1 для перезапуска службы веб-управления. – tomfanning

+3

+1 для интерфейса управления службой. UI. M $ lamers, оставляющие общие функции отключенными по умолчанию ... – Tomas

0

Если вы используете SSL-сертификат, вы должны войти в службу управления в разделе диспетчера диспетчера сервера IIS и остановить службу, выбрать правильный сертификат и снова запустить службу. Это то, что сработало для меня (я получал Forbidden сообщение).

2

У меня эта ошибка, потому что я сменил пароль. Мастер развертывания по-прежнему сохранил мой старый пароль, после того, как он перепечатал мой пароль, теперь все работает отлично.

+0

Хахаха, это было именно то, что случилось со мной.Удивительно, что мы столкнулись с этой ситуацией почти одновременно, и никто не прокомментировал эту проблему. – aleafonso

11

Мы обнаружили, что проблема связана с тем, что WebDeploy был установлен до функция службы веб-управления была включена на сервере Windows 2008. После установки службы веб-управления полностью удалите Web Deploy. Затем смолируйте и убедитесь, что все компоненты выбраны.

После переустановки мы сразу же смогли опубликовать на сервере с моей локальной машины, а также из нашего CI.

Пар моментов отметить после прочтения других ответов:

  • Если вы получаете ошибку 404 проблема не одна из безопасности.
  • Нам не пришлось перезапускать Visual Studio, чтобы это изменение вступило в силу.
  • Переустановка начнет работу в автоматическом режиме, не отменяя эту настройку.
+1

Чтобы добавить к этому, у меня была аналогичная проблема, но она работала для меня после перезапуска различных сервисов плюс IIS на сервере. Рекомендовать установку службы управления до веб-развертывания в будущем! – randomsequence

+0

Те же проблемы здесь, WebDeploy должен быть установлен после службы веб-управления, теперь ошибка изменилась на неавторизованного пользователя, который может быть исправлен, спасибо Nick –

+0

спасибо, это было для меня ... :) – Dragouf

4

Я был в состоянии установить тот же вопрос, когда я изменил "Service URL", который использует "Служба управления Windows" из:

https://ExampleURL:8172/msdeploy.axd?site=SiteName 

к этому, который использует "Remote Service Agent" вместо:

http://ExampleURL 

После этого он работал нормально.

+1

Подтверждение ... это отлично работало для меня также в ** Visual Studio 2013 **. Я закончил [переустановка ** Web Deploy **] (http://stackoverflow.com/a/13871041/175679), и он позаботился об этой проблеме. Теперь я могу использовать первый формат и второй формат без проблем. – SliverNinja

+1

Работал и для меня. Tnx! –

1

Глупый меня, у меня не было .NET 4 установлен на сервере

0

Как манекен, эта ошибка была бросание для меня, потому что я не установил Remote Web Agent в рамках Инструмента развертывания Web есть here.

1

Я получил 404 из браузера IE с https: // имя_сервера: 8172/MsDeploy.axd

Но Chrome не скандалить.

Это может быть первый тест, чтобы узнать, можете ли вы вообще добраться до службы веб-управления на сервере. Другими словами: Когда chome работал (он ответил пустой страницей), у вас есть отверстие в службе на сервере.

У вас также должно быть разрешение на развертывание на конкретном сайте. В IIS найдите сайт и сделайте это в «Разрешениях диспетчера IIS» в разделе «Управление».

2

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

В основном я всегда устанавливаю Web Deploy 3 из установщика веб-платформы. Это первая ошибка.По какой-то причине это устанавливает только половину необходимого вам материала. Если вы установили это, удалите его и загрузите установщик Web Deploy. Затем выберите «Завершить» установку.

Если вы следуете this guide

Затем игнорировать опцию 1. It's a trap

Start снова чтение из "2. Загрузите веб-развертывания установки ..."

+0

Чтобы быть справедливым, у установщика веб-платформы есть загружаемые файлы для отсутствующих частей. Вы можете установить веб-развертывание 3.5 самостоятельно, но есть также Web Deploy 3.5 для хостинга серверов и веб-развертывания 3.5 без встроенного sql-suppot (последний) –

0

Даже если все необходимые программное обеспечение установлено. У меня была аналогичная ошибка. Я заметил, что URL-адрес службы не был префикс http: //. После префикса он работает хорошо.

0

Я получал аналогичные ошибки от VS 2013 года и нашел исправление, которое я не видел, упоминал ни один из других ответов.

Ошибка:

  • Базовое соединение закрыто
  • Невозможно прочитать данные из транспортного соединения: существующее соединение было принудительно закрыто удаленным узлом, от сервера сборки (TFS 2010).

Fix:

Исправление в моем случае был повторно включить TLS 1.0 на цели. Это ключ реестра, но для этого я использую бесплатный апплет IISCrypto.