Попытка системы.Сеть.Mvc.PreApplicationStartCode.Система Start () 'to critical method'.Сеть.страницы.Бритва.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 Версия фреймворка: 4.0.30319; ASP.NET версия: 4.0.30319.18055
Я не могу вспомнить обновления, которые я сделал. Есть ли способ это исправить?
13 ответов:
Я думаю, что проблема решена, но если нет, используйте этот пакет из Nuget:
Install-Package Microsoft.AspNet.Mvc -Version 5.0.0
Я потратил день на эту ошибку, но эта единственная строка сделала работу за меня
попробовал . . .
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
Если вы используете visual studio, откройте окна пакетов 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
для меня также такая же ошибка. Это было исправлено путем установки пакета NuGet
Install-Package -Id Microsoft.AspNet.WebHelpers
Я получил эту ошибку при развертывании сайта, где Mvc был обновлен с 4 до 5, но я не обновил web.конфиг.
меняется от этого:
<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>
решил проблему для меня.
У меня была аналогичная проблема, и я решил ее на основе статьи обновление Razor 2.0 до 3.0 с помощью Asp.net MVC by by Anthony Fassett
следующий блок кода отсутствовал в моей сети.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>
есть несколько решений этой проблемы:
- следуйте инструкциям по обновлению ваш asp.net решение
- не забудьте удалить библиотеку dll Microsoft-Web-Helpers и установить пакет NuGet Microsoft.сеть САШ.WebHelpers
затем убедитесь, что вы обновили все свои пакеты nuget (используйте "Upgrade-Package") и проверьте свои dll в интернете.конфиг.
ошибка, вероятно, действие в старой DLL, когда вы конвертируем ваш проект.
в моем случае установка nuget изменила мою сеть.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"
щелкните правой кнопкой мыши на проект - > Управление NuGet пакеты для решения, чем найти
Microsoft.сеть САШ.Mvc и Microsoft. Net. Compilers обновить последние версии
в моем случае это была проблема несовместимости. У меня были тезисы pacakges:
Microsoft.AspNet.Mvc
версия 4.xMicrosoft.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, которая должна была это сделать.
Я решил свою проблему, применив " Install-Package Microsoft.сеть САШ.Команда "Mvc".
после этого я решил свой проект с помощью веб-API.
Я получил эту ошибку, когда я обновил пакет NuGet - ' Microsoft.сеть САШ.Веб-Страницы' версия 3.2.3. Я использую VS2012, начиная новую ваниль'ASP.NET веб-приложение MVC 4' по шаблону 'Интернет-Приложений ' использование проверки подлинности Windows или проверки подлинности Windows Azure.
возможно, обновление не совместимо с другими компонентами, и эти другие компоненты также должны быть обновлены. Другие ответы предлагают обновить Microsoft.сеть САШ.Mvc, Microsoft. Net. Compilers, и / или Microsoft.сеть САШ.WebHelpers.