Не удалось загрузить файл или сборку "System.Web.WebPages"
У меня была эта проблема раньше, но тогда все, что мне нужно было сделать, это очистить и перестроить проект. Теперь это больше не работает. Когда я запускаю свой отладчик проекта Asp.Net MVC3, сайт открывается в моем браузере. Вместо получения первой страницы, представленной в браузере, я получаю эту ошибку
Parser Error Message: Could not load file or assembly 'System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
Source Error:
Line 31: <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
Line 32: <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
Line 33: <add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
Line 34: </assemblies>
Line 35: </compilation>
Я не могу понять, как это решить. Любая идея?
Ответы
Ответ 1
У меня была эта проблема. Возможно, это произошло, когда я установил .NET MVC v4 поверх MVC v3, не уверен.
В любом случае я удалил ссылку System.Web.WebPages
из моего проекта. Затем на вкладке "Добавить ссылку".NET были указаны две ссылки на System.Web.WebPages: версия 1.0.0.0 и 2.0.0.0. Я позаботился о том, чтобы добавить версию 1.0.0.0, поскольку это было не так.
![enter image description here]()
Ответ 2
Решение для меня состояло в том, чтобы перейти на мой сервер и установить веб-страницы версии 2 на сервере.
Перейдите в http://www.microsoft.com/en-us/download/details.aspx?id=34600
Загрузите пакет и запустите его.
Это было так просто.
Ответ 3
Я немного почесал голову над этой проблемой, когда у меня это было. В конце концов я заметил, что у меня был следующий раздел в разделе "runtime" моего web.config.
<runtime>
. . .
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
. . .
</runtime>
Как вы можете видеть, это относится к версии 2 сборки, которая не соответствует следующему коду, который вы также имеете в разделе system.web/компиляции/сборки web.config.
<add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
Фактическая сборка, на которую ссылаются ссылки для проекта, действительно v1.0.0.0, поэтому я изменил первый фрагмент кода выше на следующий, что немедленно устранило проблему. Я не уверен, как ошибка попала туда в первую очередь.
<runtime>
. . .
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.0.0.0" newVersion="1.0.0.0" />
</dependentAssembly>
. . .
</runtime>
Ответ 4
Работал для меня:
-
Инструменты → Диспетчер пакетов NuGet → Управление пакетами NuGet для решения
-
Обзор
-
Найдите "Microsoft.AspNet.WebPages"
-
Убедитесь, что все проекты в решении имеют самую последнюю версию.
Ответ 5
У меня была эта проблема, все, что мне нужно было сделать, это изменить свойство внешней ссылки: Специфическая версия от True до False
После этого проект будет создан снова.
Ответ 6
У меня есть такая же проблема для MVC5.
Сначала проверьте сборку System.Web.WebPages из справочника вашего проекта.
- Если не найден, добавьте, выбрав добавить ссылку из справки проекта.
- Если найдена, проверьте версию проверки с Свойства этой ссылки. Затем проверьте файл проекта web.config. Возможно, эти две версии не совпадают.
Для меня добавлена ссылка версии 2.0.0.0. но мой файл web.config ссылается на него из
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
и я меняю его на
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
он работает для меня в MVC5.
Пожалуйста, проверьте выделенную область в моем приложении для большего зазора.
![System.Web.WebPages]()
Ответ 7
Перейдите в меню: "Диспетчер пакетов /Nuget Package Manager/Консоль диспетчера пакетов"
выполнить команду install-package Microsoft.AspNet.WebPages