ASP.NET: этот метод не может быть вызван во время этапа инициализации перед запуском приложения

Я пытаюсь получить сайт ASP.NET MVC 3, работающий на IIS 6.0.

В настоящее время, когда я запрашиваю страницу с сервера, она дает следующую ошибку:

Сообщение об ошибке Parser: этот метод не может быть вызван во время этапа инициализации перед запуском приложения.

по этой строке:

 

Я полностью ошеломлен и не очень разбираюсь в жизненном цикле приложений ASP.NET, не говоря уже о различиях между 6.0 и 7.0. Чтение страниц MSDN на нем, похоже, мало помогло.

Есть ли у кого-нибудь проницательность или какие-либо хорошие ссылки для расследования? 🙂

Добавьте это в свой web.config (в разделе appSettings):

   

РЕДАКТИРОВАТЬ:

Для тех, кто спрашивает, почему это известная проблема, описанная в примечаниях к выпуску mvc 3 Подробнее здесь

После обновления некоторых моих приложений от ASP.NET MVC3 до MVC4 я получал эту ошибку. Это было результатом сборки WebMatrix (WebMatrix.WebData.dll и WebMatrix.Data.dll). Я удалил эти ссылки и сборки из каталога / bin и позаботился об этой проблеме.

@ Ek0nomik прав. Мы перенесли с MembershipProvider на новый ExtendedMembershipProvider что позволило нам воспользоваться некоторыми новыми функциями, предлагаемыми в пространстве имен WebMatrix . По умолчанию Simple Membership включен по какой-то причине, поэтому мы должны были отключить его явно, так как мы не хотели SimpleMembershipProvider до использования SimpleMembershipProvider .

Все, что нам нужно было сделать, это добавить это в web.config:

  

При включенном Simple Membership код инициализации провайдера выполнялся перед обработчиком Application_Start. Наша структура приложения требует, чтобы приложение App_Start было первым. Лично я всегда ожидал бы этого, но Simple Membership меняет это поведение. Осторожно.

Ну, я только что получил эту ошибку, и это произошло из-за случайного копирования .cshtml в корень моего проекта. Он даже не был включен в проект. Удалено, и ошибка исчезла. Это было с MVC3 на IIS7. Я полагаю, что некоторые из тех, кто сталкивается с этой проблемой, находятся в одной лодке.

Это вызвано тем, что любое количество вызовов Reflection выполняется слишком рано в приложении. Так получилось, что предложения Web.Config в других ответах не позволили сделать один такой вызов Reflection. Однако в моем случае:

Я использую Entity Framework и запускаю update-database . Я получил:

Этот метод не может быть вызван во время фазы инициализации перед запуском приложения.

Как оказалось, у нас был код, который использовал недавно измененную библиотеку, чтобы получить весь код во всех пространствах имен / проектах. В частности, он называл:

 System.Web.Compilation.BuildManager.GetReferencedAssemblies() 

Kaboom. Это вызвало эту неясную ошибку. EF Миграции выполняются в зоне weirdo, где приложение работает наполовину, а половина – нет, что означает, что вышеупомянутый метод никогда не может быть вызван каким-либо кодом, который будет вызывать Миграции.

  • Лучший способ получить ссылку на главную страницу MVC 3 Razor
  • jquery.validate.unobtrusive не работает с динамическими инъецированными элементами
  • Правильный способ привязки ракеты-носителя mvc3 к модели
  • Как сделать раздел в частичном представлении в MVC3?
  • Получить атрибут DisplayName без использования LabelFor Helper в asp.net MVC
  • проверка хотя бы одного флажка
  • Как использовать knockout.js с ASP.NET MVC ViewModels?
  • MVC 3 jQuery Проверка / глобализация числа / десятичного поля
  • Каскадные выпадающие списки в MVC 3 Razor view
  • MVC 3 - Html.EditorFor, похоже, кэширует старые значения после вызова $ .ajax
  • Различия между Html.TextboxFor и Html.EditorFor в MVC и Razor
  • Давайте будем гением компьютера.