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

Не удалось загрузить файл или сборку "System.Web.Http.WebHost, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35"

В Visual Studio 2012 я создал проект ASP.NET MVC 4, где целевой средой является .NET Framework 4.5. Когда я развернул свой проект на веб-сервере, он дал следующую ошибку:

    Could not load file or assembly 'System.Web.Http.WebHost, Version=4.0.0.0, Culture=neutral, 
PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file 
specified.

Description: An unhandled exception occurred during the execution of the current web request.
 Please review the stack trace for more information about the error and where
it originated in the code. 

Exception Details: System.IO.FileNotFoundException: Could not load file or 
assembly 'System.Web.Http.WebHost, Version=4.0.0.0, Culture=neutral,
 PublicKeyToken=31bf3856ad364e35' or one of its dependencies.
 The system cannot find the file specified.

Source Error: 


Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.34237
4b9b3361

Ответ 1

Проверьте папку bin вашего развернутого проекта. Он должен содержать System.Web.Http.WebHost.dll. Если эта DLL находится в этой папке, проверьте ее версию. Если это не 4.0.0.0, вам следует развернуть версию 4.0.0.0 или изменить свою веб-конфигурацию, чтобы использовать другую версию (не очень хорошая идея из-за зависимостей)

Ответ 2

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

Чтобы сделать это, в моем проекте Visual Studio выберите сборку System.Web.Http.Webhost в своих ссылках и измените свойство "Копировать локальное" на "Истина". Я должен был повторить это для нескольких других сборок, которые отсутствовали.

Благодаря этому веб-сайту советы - http://haacked.com/archive/2008/11/03/bin-deploy-aspnetmvc.aspx/

Ответ 3

Попробуйте переустановить пакет Microsoft.AspNet.WebApi. Откройте консоль диспетчера пакетов и введите:

Update-Package Microsoft.AspNet.WebApi -reinstall

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

Ответ 4

У меня была эта ошибка со старым проектом, в который я возвращался, чтобы немного поработать над этим. Оказывается, проект фактически не использовал WebApi, поэтому я удалил Microsoft.AspNet.WebApi с помощью NuGet. Это решило проблему для меня.

Если бы я действительно нуждался в WebApi, я уверен, что его установка снова исправила бы ошибку.

Ответ 5

Я столкнулся с этим сегодня после создания нового агента Team City Build. У нового агента не установлен MVC 4, возможно, часть проблемы. К счастью, я нашел эту статью, которая привела меня к решению. В Team City я просто обновил Шаг сборки для восстановления Nuget, чтобы он не использовал локальный кеш.

enter image description here

Это работает, потому что кеш, возможно, был установлен с помощью компоновщиков сборки с уже установленными фреймами MVC.

Ответ 6

Я знаю, что это ответ, но я думал, что что-то добавить.

Каждый раз, когда я устанавливаю "copy local" в true в файле, вызывающем ошибку, я бы опубликовал его и просто получил еще один. Поэтому я только что выбрал все файлы под ссылками и установил их в true. Это исправило проблему для меня.