Попытка прозрачным методом безопасности 'WebMatrix.WebData.PreApplicationStartCode.Start()'

Обновление: то же самое для mvc 4 до mvc 5.

Я начал новый проект mvc 4 и перенес в него проект mvc 3 (контроллеры/модели/скрипты и т.д.). Пока все компилируется, я получаю следующую ошибку:

Попытка прозрачным методом безопасности "WebMatrix.WebData.PreApplicationStartCode.Start()" для доступа к критическому критическому критическиму "System.Web.WebPages.Razor.WebPageRazorHost.AddGlobalImport(System.String)" не удалось.

Я не могу найти что-либо в Интернете с этой ошибкой. Ошибка перед запуском приложения.

Я попытался переустановить все сборки с помощью nuget, поставив "чистый" web.config безрезультатно.

Кто-нибудь имел эту проблему раньше?

Ответ 1

Для меня эта ошибка возникла из-за того, что у меня не было установки Microsoft.AspNet.WebHelpers после обновления с MVC 4 до MVC 5. Это было исправлено установкой пакета NuGet

Install-Package -Id  Microsoft.AspNet.WebHelpers

Ответ 2

Если вы получаете сообщение об ошибке

Попытка прозрачным методом безопасности "WebMatrix.WebData.PreApplicationStartCode.Start() для доступа к критическому критическому методу" System.Web.WebPages.Razor.WebPageRazorHost.AddGlobalImport(System.String) не удалось.

Чтобы исправить этот пакет, установите его с помощью диспетчера пакетов NuGet.

Install-Package Microsoft.AspNet.WebHelpers

После этого, возможно, вы получите еще одну ошибку

Не удается загрузить сборку WebMatrix.Data версии 3.0.0.0

чтобы исправить этот пакет установки с помощью диспетчера пакетов NuGet.

Install-Package Microsoft.AspNet.WebPages.Data

Ответ 3

Для тех, кто приземляется здесь, кто пытается обновиться с MVC 4 до MVC5, я смог решить эту проблему, выполнив инструкции 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.

Мне также пришлось установить пакет "Microsoft.AspNet.WebApi.WebHost" из nuget. Но это так.

О, и мне пришлось создать это приложение: <add key="owin:AutomaticAppStartup" value="false" />

:)

Ответ 4

Я попробовал все вышеперечисленные решения, и он все равно не сработает, пока я не обнаружил, что элемент компиляции web.config ссылался на версию 2.0.0.0 WebMatrix.Data и WebMatrix.WebData. Изменение версии этих записей в файле web.config до 3.0.0.0 помогло мне.

Ответ 5

Я занимаюсь подобной проблемой при обновлении mvc 4 до mvc 5:

Попытка прозрачным методом безопасности "System.Web.WebPages.Administration.SiteAdmin.RegisterAdminModule()" для доступа к критическому критическому методу "System.Web.WebPages.ApplicationPart..ctor(System.Reflection.Assembly, System.String) ' не смогли.

Флажок удаления лишних файлов в диалоговом окне публикации разрешил его для меня.

Ответ 6

Переустановка Microsoft.AspNet.WebHelpers работает для меня

Update-Package –reinstall Microsoft.AspNet.WebHelpers

Ответ 7

Просто еще одно предложение... Это было вызвано для меня некоторой старой dll из проекта MVC 3 после обновления до MVC 5 в папке bin на сервере развертывания. Несмотря на то, что эти dll больше не использовались кодовой базой, они, похоже, вызывают проблему. Очистили все и снова развернули, и все было в порядке.

Ответ 8

Вы также можете получить:

Не удалось загрузить файл или сборку "WebMatrix.Data, Version = 3.0.0.0, Культура = нейтральная, PublicKeyToken = 31bf3856ad364e35 'или одна из ее зависимостей. Установленное определение манифеста сборки не сопоставить ссылку на сборку. (Исключение из HRESULT: 0x80131040)

Это перемещено в этот пакет

 Install-Package Microsoft.AspNet.WebPages.Data

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

Ответ 9

Вот как я исправил эту проблему:

Откройте консоль диспетчера пакетов nuget и установите следующие пакеты nuget:

Install-Package WebMatrix.Data
Install-Package Microsoft.AspNet.WebHelpers
Update-Package

Очистите решение, перестройте, и мое веб-приложение asp.net начнет работать!

Ответ 10

Удаление всех файлов из бункера, а затем перестройка решения работала для меня.

Ответ 11

Для меня эта ошибка была вызвана тем, что DotNetOpenAuth не совместим с MVC5 после обновления с MVC4 до MVC5. Удаление Microsoft.Web.WebPages.OAuth устраняло проблему.

Ответ 12

Я удалил его из своих ссылок. Затем запустите его в консоли диспетчера пакетов

Install-Package WebMatrix.Data

Наконец, добавьте сборку WebMatrix.WebData к ссылкам и перестройте project.It работает для меня. Я надеюсь, что она также решит вашу проблему.

Ответ 13

Я установил webapi с помощью пакета справки nuget. Этот пакет заменил большинство бинарных файлов asp.net mvc 4 бета-версиями, которые не работали вместе с остальной частью проекта. Исправлено восстановление оригинальной dll mvc 4, и все было хорошо.

Ответ 14

У меня была такая же проблема, мне пришлось обновить MVC Future (Microsoft.AspNet.Mvc.Futures)

Install-Package Microsoft.AspNet.Mvc.Futures

Ответ 15

Для меня это ошибки решены путем добавления

<system.web>
 <trust level="Full">
 </system.web>

в web.config