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

Не удалось загрузить файл или сборку "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>

Я не могу понять, как это решить. Любая идея?

4b9b3361

Ответ 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