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

Не удалось загрузить файл или сборку "System.Web.Helpers, ошибка в IIS 8

У меня есть веб-приложение MVC4, которое отлично работает в Visual Studio 2012, используя локальный сервер IIS Express. Когда я публикую приложение на веб-сервере IIS 8, работающем в Windows 2012, начальная страница входа отображается правильно. Однако, используя удаленную отладку, я вижу, что при проверке учетных данных используется следующая строка:

if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe))

Я получаю ошибку, показанную на рисунке ниже: System.Web.Helpers error
(источник: usf.edu)

4b9b3361

Ответ 1

Решение. Скопируйте ссылку на локальный

  • Щелкните правой кнопкой мыши по ссылке System.Web.Helpers и выберите Properties.
  • Изменить Копировать Локальное значение в true.
  • Решение для сборки

Ответ 2

Звучит так, как будто MVC не установлен на сервере.

Ответ 3

System.Web.Helpers.dll входит в официальный пакет Nuget Microsoft.AspNet.WebPages.

Установите это, и ссылки должны быть исправлены, и файл должен быть скопирован в вашу папку bin.

Ответ 4

Я смог решить эту проблему, загрузив Microsoft Web Platform Installer, выполнив поиск MVC и установив версию ASP.NET MVC3 (Visual Studio 2010), выпущенную 4/11/2011 ". Закройте все экземпляры Visual Studio до установки.

Ответ 5

Убедитесь, что он ищет правильную версию файла. Мои были неверны, файл web.config указывал на более поздние версии, чем у меня в проекте.

В свойствах я отметил, что версия была 2.0.0.0, поэтому я сделал это этой версией в файле web.config

enter image description here

Ответ 6

Просто добавив к существующим ответам, так как даже я столкнулся с той же ошибкой и не смог найти ссылку в сборках. Я просто расскажу, что помогло мне:

Откройте диспетчер пакетов из Инструменты- > Диспетчер пакетов NuGet- > Консоль диспетчера пакетов и введите:

PM> Install-Package microsoft-web-helpers

После этого System.Web.Helpers появится в разделе Ссылки- > Ассембли. Оттуда свойство "Скопировать местное" можно изменить на "Истина".

Ответ 7

Я запускаю VS 2015Preview и могу решить проблему, установив последнюю версию MVC через NuGet.

На всякий случай кто-то еще сталкивается с этим.

Ответ 8

Я добавил "Microsoft ASP.NET Razor", используя "Управление пакетами NuGet".

С помощью добавления ссылок по какой-то причине у меня только были System.Web.Helpers 1.0.0 и 2.0.0... но не 3.0.0.

Ответ 9

У меня была такая же проблема с работой службы WCF в IIS 8. Взгляните на это решение Развертывание ASP.NET, это сработало для меня.

Ответ 10

может быть что-то не так с вашим файлом Web.config. Откройте файл и найдите тег <runtime></runtime>. изменить версию MVC. Например, MVC 3

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
            <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
            <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0" />
        </dependentAssembly>
    </assemblyBinding>
</runtime>

Ответ 11

После добавления правильной версии MVC добавляется ссылка на Microsoft Web Helper, но не на System.Web.Helper. Добавьте это вручную к своим ссылкам.