Подтвердить что ты не робот

Попытка "System.Web.Mvc.PreApplicationStartCode.Start()" критическому методу "System.Web.WebPages.Razor.PreApplicationStartCode.Start()" не удалось

Мое приложение работало нормально, и после того, как я сделал некоторые обновления, я получаю эту ошибку.

Ошибка сервера в приложении "/".


Попытка прозрачного метода безопасности "System.Web.Mvc.PreApplicationStartCode.Start()" для доступа к критическому критическому критическому методу "System.Web.WebPages.Razor.PreApplicationStartCode.Start()" не удалась. Описание: Необработанное исключение возникло во время выполнения текущего веб-запроса. Просмотрите трассировку стека для получения дополнительной информации об ошибке и ее возникновении в коде.

Сведения об исключении: System.MethodAccessException: попытка использования прозрачного метода безопасности System.Web.Mvc.PreApplicationStartCode.Start() 'для доступа к критическому критическому методу безопасности System.Web.WebPages.Razor.PreApplicationStartCode.Start()' не удалось.

Ошибка источника: Необработанное исключение было создано во время выполнения текущего веб-запроса. Информация о происхождении и местоположении исключения может быть идентифицирована с использованием трассы стека исключений ниже.

Информация о версии: версия Microsoft.NET Framework: 4.0.30319; Версия ASP.NET: 4.0.30319.18055

Я не помню обновления, которые я сделал. Есть ли способ исправить это?

4b9b3361

Ответ 1

Я думаю, что проблема решена, но если нет, используйте этот пакет из Nuget:

Install-Package Microsoft.AspNet.Mvc -Version 5.0.0

Я потратил день на эту ошибку, но эта одна строка сделала для меня работу

Ответ 2

попробовал., Install-Package Microsoft.AspNet.Mvc -Version 5.0.0 а также., Install-Package -Id Microsoft.AspNet.WebHelpers

оба без успеха, наконец, должны были обновить все пакеты через nuget., работает!!

http://www.3dbuzz.com/forum/threads/202082-ASP-net-MVC-Error-before-application-start

"Если вы используете визуальную студию, откройте окна пакетов nuget и запустите Update-Package, это обновит всю вашу dll до последней версии. Если он все еще не работает, см. Эту страницу: http://www.asp.net/mvc/tutorials/mvc-5/how-to-upgrade-an-aspnet-mvc-4-and-web-api-project-to-aspnet-mvc-5-and-web-api-2"

Ответ 4

Я получил эту ошибку при развертывании сайта, на котором Mvc был обновлен с 4 до 5, но я не обновил web.config.

Изменив это:

<dependentAssembly>
  <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
  <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>

:

<dependentAssembly>
  <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
  <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>

решил проблему для меня.

Ответ 5

Для меня также произошла такая же ошибка. Это было исправлено установкой пакета NuGet

  Install-Package -Id  Microsoft.AspNet.WebHelpers

Ответ 6

У меня была аналогичная проблема, и я решил ее на основе статьи Обновление Razor 2.0 до 3.0 с помощью Asp.net MVC by Anthony Fassett

В моем Web.Config отсутствовал следующий код кода:

<dependentAssembly>
  <assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35" />
  <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>

Ответ 7

Для решения этой проблемы существует несколько решений:

  • Следуйте инструкциям по обновлению вашего решения asp.net
  • Не забудьте удалить dll Microsoft-Web-Helpers и установить пакет nuget Microsoft.AspNet.WebHelpers

Затем убедитесь, что вы обновили все свои пакеты nuget (используйте "Upgrade-Package" ) и проверьте свою dll в web.config.

Ошибка, вероятно, является действием в старой DLL, когда вы конвертируете свой проект.

Ответ 8

В моем случае установка nuget изменила мой Web.Config:

    <dependentAssembly>
    <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="1.0.0.0-5.1.0.0" newVersion="1.1.0.0" />
  </dependentAssembly>

newVersion="1.1.0.0" ** должен быть newVersion="5.1.0.0"

Ответ 9

Щелкните правой кнопкой мыши для проекта → Управление пакетами Nuget для решения, чем find

Microsoft.AspNet.Mvc и Microsoft.Net.Compilers обновить последние версии

Ответ 10

В моем случае это была проблема несовместимости. У меня были тезисы pacakges:

  • Microsoft.AspNet.Mvc версия 4.x
  • Microsoft.AspNet.Razor и Microsoft.AspNet.WebPages, версия 3.x

Я предполагаю, что обновление Mvc до 5.x работало бы, но мне нужно было сохранить Mvc 4.x, поэтому мне пришлось понизить Razor и Mvc до 2.x. Для этого вам просто нужно установить более старую версию, например:

Install-package Microsoft.AspNet.WebPages -version 2.0.30506
Install-Package Microsoft.AspNet.Razor -Version 2.0.30506

После переопределения этих пакетов первая ошибка исчезла, но была еще одна ошибка, связанная с проблемой в web.config. Мне пришлось изменить привязку привязки для Razor:

<dependentAssembly>
     <assemblyIdentity name="System.Web.Razor" ... />
  <!--bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" /-->
     <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>

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

Ответ 11

Я решил свою проблему, применив команду "Install-Package Microsoft.AspNet.Mvc".

После этого я решил свой проект с помощью Web API.

Ответ 12

Я получил эту ошибку, когда обновил пакет NuGet - Microsoft.AspNet.Web Pages 'версия 3.2.3. Я использую VS2012, создавая новое веб-приложение " ASP.NET MVC 4 > с шаблоном Интернет-приложение" с использованием проверки подлинности Windows или проверки подлинности Windows Azure.

Возможно, обновление несовместимо с другими компонентами, и эти другие компоненты также должны быть обновлены. Другие ответы предлагают обновить Microsoft.AspNet.Mvc, Microsoft.Net.Compilers и/или Microsoft.AspNet.WebHelpers.

Ответ 13

Я работаю над проектом ASP.NET Web API и получаю такую ​​же проблему после добавления следующего nuget CacheCow.Server.EntityTagStore.SqlServer

Он решил установить этот

Install-Package Microsoft.AspNet.Mvc

Ответ 14

Install-Package -Id Microsoft.AspNet.WebHelpers

Установочный пакет Microsoft.AspNet.Mvc -Version 5.0.0

Это сработало для меня