Windows Azure - не удалось создать точку входа роли - PullRequest
1 голос
/ 05 января 2011

Я перевожу веб-сайт ASP .NET 2.0 в WebRole (ASP.NET 4.0 и VS2010). После создания новой веб-роли я переместил все файлы и папки с веб-сайта в WebRole, а затем сослался на все необходимые библиотеки. Я создаю и запускаю веб-роли в одиночку, и все нормально, без проблем. Но когда я собираю и запускаю WindowsAzureProject, появляются следующие ошибки

[fabric] Role state Stopping
[fabric] Role state Stopped
[fabric] Role state Aborted
[fabric] Role state Teardown
[fabric] Role state Destroyed
[runtime] Role entrypoint could not be created:
System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.
   at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
   at System.Reflection.Assembly.GetTypes()
   at Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.CreateRoleEntryPoint(RoleType roleTypeEnum)
   at Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.InitializeRoleInternal(RoleType roleTypeEnum)

и статус «Операция была отменена»

У меня уходит несколько дней, но ничего не найдено. Я установил «Копировать локальный» в true для всех ссылочных библиотек, но это также не влияет. Я просто думал, что spring.core и spring.aop вызвали ошибку, но я не знаю, как отлаживать и ловить, где происходит сбой

Пожалуйста, помогите мне в этом случае. Большое спасибо и извините за мой плохой английский

Ответы [ 3 ]

1 голос
/ 05 мая 2011

Самый простой способ устранить эту проблему - включить Intelitrace для вашего развертывания и отладить его таким образом. Это хороший пост о том, как это сделать. Вы также можете включить диагностику и записать ее в журнал после включения запуска в попытку. Хотя Intelitrace - лучший путь.

1 голос
/ 10 июня 2011

Еще один момент, на который следует обратить внимание, - это то, что зависимости ваших зависимостей должны встречаться и явно указываться в вашей веб-роли, т.е. если вы ссылаетесь на dll или другой проект в своем решении, вы должны включить зависимости этого проекта или dllссылки на вашу веб-роль с установленным для CopyLocal значением true.

Это потому, что упаковщик Azure не сканирует дерево зависимостей для вас, он будет смотреть только на первый уровень ссылок, т. Е. На вашу роль, и, следовательно, dll ниже по дереву может отсутствовать, и вы будетеполучить исключение загрузки типа.

Ответ Скотта должен помочь вам найти, какая DLL отсутствует.Надеюсь, это поможет.

0 голосов
/ 05 января 2011

Возможно, вы удалили файл WebRole.cs?

...