Развертывание из Visual Studio 2010 перестало работать после обновления до Web Deployment Tool 2.1

#msdeploy

#msdeploy

Вопрос:

У меня есть проект веб-сайта, который существует уже некоторое время — он был ASP.NET До сих пор использовался MVC2. .Net 4, Visual Studio 2010 Sp1, развернут в IIS 7.5 под управлением Win2008 R2.

У меня есть четыре отдельных профиля развертывания — «alpha», «test», «staging» и «live». Да, я, вероятно, мог бы придумать названия получше, но, надеюсь, они должны передавать, для чего они предназначены.

Недавно было решено перейти на MVC3, чтобы воспользоваться преимуществами новых возможностей, таких как Razor, атрибуты глобального фильтра, и начать использовать NuGet и т.д. Итак, я отправился в запой с обновлением установщика веб-платформы. Одной из вещей, которые я обновил, был инструмент веб-развертывания — как на моем компьютере разработчика (где происходит обновление MVC3), так и на веб-сервере была установлена эта новая версия инструмента.

С тех пор мне не удавалось выполнять развертывания. Я вернулся к более ранним версиям моего проекта (спасибо git за то, что позволил мне безболезненно вернуться к любой предыдущей версии) и попытался развернуть их, но они тоже не работают.

Всякий раз, когда я пытаюсь выполнить развертывание из Visual Studio, я получаю следующую ошибку:

 Web deployment task failed.((23.05.2011 11:18:24) An error occurred when the request was processed on the remote computer.)

(23.05.2011 11:18:24) An error occurred when the request was processed on the remote computer.
Unable to cast object of type 'Microsoft.Web.Deployment.DeploymentSyncOptions' to type 'Microsoft.Web.Deployment.DeploymentSyncOptions'.
  

Я понимаю, почему это было бы сложно. 😉

А если серьезно — как мы можем заставить развертывание из Visual Studio снова работать? В будущем мы сделаем это с помощью нашего сервера CI и автоматически установим пакет развертывания с помощью MSBuild на правильный веб-сервер в зависимости от обновленной ветви git, но это произойдет через некоторое время.

У меня есть полный доступ к обеим машинам, так что, надеюсь, можно собрать любую другую необходимую информацию.

Ответ №1:

Возможно, у вас на компьютере установлена бета-версия web deploy, если вы когда-либо устанавливали бета-версию web platform installer v2. Вы можете проверить это с помощью gacutil -l Microsoft.web.deployment.

Если вы видите любую версию 7.5.0.0, значит, у вас бета-версия. Удалите эту версию. Вам необходимо проверить и изменить это как на клиенте, так и на сервере.

Комментарии:

1. Привет, извините за медленный ответ, у меня некоторое время не было доступа к системе. Я сделал, как вы сказали, и у меня есть только 7.1.0.0 и 8.0.0.0 в GAC. Однако с момента появления проблемы и сервер, и компьютер разработчика были перезагружены, и проблема исчезла! В любом случае, я даю вам принятый ответ, который, вероятно, поможет любому, кто столкнется с этим вопросом в будущем. 🙂

Ответ №2:

Owais прав — это очень вероятно, потому что у вас установлена предварительная версия. Rune, пожалуйста, проверьте и дайте мне знать?

Комментарии:

1. Привет, как я прокомментировал Owais выше, проблема устранена простой перезагрузкой, и, похоже, бета-версия не установлена. Я думаю, мы никогда не узнаем наверняка …!