Столкновение "Не удалось загрузить файл или сборку '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, если у вас установлена правильная версия.
Надеюсь это поможет