Вопросы публикации Azure - Занят - Перезапуск - Занят - Велоспорт - PullRequest
6 голосов
/ 23 января 2012

Лазурь вызывает у меня головную боль.

Я начал с учебника. Создал новый проект MVC 3, опубликовал его. Прошло около 9 минут, после чего все работало на моей производственной виртуальной машине.

Затем я попытался опубликовать проект, над которым я работал (MVC 3). Он имеет следующие зависимости:
Service.dll
Domain.dll
Autofac.dll

Работает нормально при отладке с помощью эмулятора.
Он прекрасно работает, когда я разархивирую пакет и разверну его на другом сервере.

Но при публикации в Azure Production я получаю следующее:
13:42:31 - подготовка развертывания для веб-сайта с идентификатором подписки: ...
1:42:31 PM - Подключение ...
13:42:35 - проверка учетной записи хранения '...'...
13:42:38 - загрузка пакета ...
13:44:46 - Создание ...
13:45:56 - Создан идентификатор развертывания: ....
13:45:56 - Начало ...
13:46:34 - Инициализация ...
13:46:34 - экземпляр 0 роли Сайт находится в неизвестном состоянии
13:46:34 - экземпляр 1 роли Сайт находится в неизвестном состоянии
13:47:06 - Экземпляр 0 роли Сайт создает виртуальную машину
13:47:06 - Экземпляр 1 роли Сайт создает виртуальную машину
13:47:37 - Экземпляр 0 роли Сайт запускает виртуальную машину
13:47:37 - экземпляр 1 роли Сайт запускает виртуальную машину
13:50:13 - экземпляр 0 роли Сайт находится в неизвестном состоянии
13:50:13 - экземпляр 1 роли Сайт находится в неизвестном состоянии
13:50:44 - Экземпляр 0 роли Сайт занят
13:50:44 - Экземпляр 1 роли Сайт занят
13:54:31 - экземпляр 1 роли. Сайт перезапускается
13:55:02 - Экземпляр 1 роли Сайт занят
13:56:40 - Экземпляр 1 роли Веб-сайт зацикливается
13:57:43 - Экземпляр 0 роли Сайт работает на велосипеде

Я пробовал несколько раз. Без успеха.

Обновление

Я забыл упомянуть, что у меня есть DLL C # SDK Facebook

Я использовал метод проб и ошибок, чтобы обнаружить, что DLL.Web.Mvc dll вызывает у меня проблемы. Он был включен в папку bin, но все равно ничего хорошего.

Ответы [ 5 ]

10 голосов
/ 23 января 2012

В среде Azure не все сборки MVC 3.Необходимо убедиться, что вы ссылаетесь на них все в своем проекте и задаете CopyLocal = true, чтобы сборки включались в ваш пакет Azure.Azure пройдет через этот бесконечный цикл, если не сможет найти все зависимости для вашего проекта.

Сборки, на которые нужно сослаться, следующие:

  • Microsoft.Web.Infrastructure
  • System.Web.Helpers
  • System.Web.MVC
  • System.Web.Razor
  • System.Web.WebPages
  • Система.Web.WebPages.Deployment
  • System.Web.WebPages.Razor

Один блог Я также заметил, что мне нужно WebMatrix.Data, но я не нашелнужен в моем проекте.

Если у вас есть другие сборки, на которые вы ссылаетесь, которые не являются частью .NET Framework, вам также потребуется установить CopyLocal = true на них.

Кроме того, убедитесь, что для параметра хранилища Azure НЕ установлено значение «Использовать хранилище разработки» при развертывании в Azure - это вызовет ту же проблему.

Если вышеуказанное не решает проблему, установите флажок этот сайт для некоторых других возможных причин.

3 голосов
/ 23 января 2012

Как отмечает Брайан Роджерс, требование к сборкам MVC asp.net и указывает на хороший ресурс по причинам цикличности роли.Одна дополнительная вещь может помочь с MVC специально.Вы можете щелкнуть правой кнопкой мыши свой проект веб-приложения и выбрать «Добавить развертываемые зависимости», а затем выбрать ASP.NET MVC3.Это позволит убедиться, что все необходимые сборки MVC3 находятся в вашем проекте при развертывании.

1 голос
/ 19 июня 2013

Я столкнулся с подобной проблемой после обновления моего проекта для использования Azure .NET SDK версии 2.0.

Процедура обновления изменила файлы конфигурации, но не обновила версии, на которые ссылаются проекты. Я решил эту проблему, вручную удалив ссылки на старые версии DLL. 1.8. *, А затем добавив ссылки на 2.0. версии.

1 голос
/ 06 марта 2013

Установите атрибут ссылки «copy local» на «true» для каждой из ссылок, используемых в проекте. Это сработало для меня.

0 голосов
/ 18 февраля 2015

Пожалуйста, проверьте все сторонние dll, которые были построены только для 32-битного или 64-битного в вашем решении. Этот тип dll вызвал роль циклически занятую.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...