Столкновение "Не удалось загрузить файл или сборку 'System.Web.Http.WebHost, Version=4.0.0.0 или одну из ее зависимостей".

Я пытаюсь развернуть решение MVC Web API на сервере. На сервере установлена ​​операционная система Windows 2012 R2. Это решение на основе MVC 4 для веб-API. На сервере установлена ​​платформа.Net 4.0. За исключением этой серверной машины, решение было развернуто и работает нормально, как и ожидалось. ПРИМЕЧАНИЕ: на этих других машинах установлена ​​Visual Studio.

Моя проблема здесь - независимо от того, какой метод я применяю, либо само решение, либо опубликовать решение, оно не работает и выдает ошибку ниже.

Не удалось загрузить файл или сборку 'System.Web.Http.WebHost, версия =4.0.0.0, культура = нейтральная, PublicKeyToken=31bf3856ad364e35' или одна из ее зависимостей. Система не может найти указанный файл

Описание: во время выполнения текущего веб-запроса произошло необработанное исключение. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.

Сведения об исключении: System.IO.FileNotFoundException: не удалось загрузить файл или сборку 'System.Web.Http.WebHost, версия =4.0.0.0, Culture= нейтральный, PublicKeyToken=31bf3856ad364e35' или одна из его зависимостей. Система не может найти указанный файл.

Трассировка стека говорит: [FileNotFoundException: не удалось загрузить файл или сборку 'System.Web.Http.WebHost, версия =4.0.0.0, культура = нейтральная, PublicKeyToken=31bf3856ad364e35' или одна из ее зависимостей. Системе не удается найти указанный файл.] OSCARService.WebApiApplication.Application_Start () +0

[HttpException (0x80004005): не удалось загрузить файл или сборку 'System.Web.Http.WebHost, версия =4.0.0.0, культура = нейтральная, PublicKeyToken=31bf3856ad364e35' или одна из ее зависимостей. Системе не удается найти указанный файл.] System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(контекст HttpContext, приложение HttpApplication) +544 System.Web.HttpApplication.RegisterEventSubscriptionWithIIS(IntPtr MethodContext. HttpApplication.InitSpecial (состояние HttpApplicationState, обработчики MethodInfo[], IntPtr appContext, контекст HttpContext) +172 System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, контекст HttpContext.TIPTIPTINE.NET) 343

[HttpException (0x80004005): не удалось загрузить файл или сборку 'System.Web.Http.WebHost, версия =4.0.0.0, культура = нейтральная, PublicKeyToken=31bf3856ad364e35' или одна из ее зависимостей. Системе не удается найти указанный файл.] System.Web.HttpRuntime.FirstRequestInit(контекст HttpContext) +579 System.Web.HttpRuntime.EnsureFirstRequestInit(контекст HttpContext) +112 System.Web.HttpRuntime.ProcessRequestNerWireIWISWISTIWRISTREWERTEQUE 716

Я попытался найти этот файл (System.Web.Http.WebHost) в каталоге Framework, но не могу найти этот конкретный файл.

Интересно, обязательно ли этот файл должен быть доступен физически?

Я также попытался установить DLL-файл System.Web.Http в "CopyLocal='True'" но не сработало.

Я уже пытался искать подобные ситуации / вопросы-ответы здесь, но не мог получить какое-либо направление.

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

2 ответа

Я исправил это, переустановив пакет NuGet, который исправляет нарушенные зависимости. Из диспетчера пакетов попробуйте запустить эту команду

Пакет обновлений Microsoft.AspNet.WebApi -reinstall

Проверьте папку bin вашего развернутого проекта. Он должен содержать System.Web.Http.WebHost.dll. Если эта DLL находится в этой папке, проверьте версию. Если это не 4.0.0.0, вы должны развернуть версию 4.0.0.0. Если вы используете пакеты nuget, проверьте свой файл packages.config, иначе проверьте ваш web.config, если у вас установлена ​​правильная версия.

Надеюсь это поможет

Другие вопросы по тегам