У меня такая проблема на сервере
[A] System.Web.WebPages.Razor.Configuration.HostSection нельзя преобразовать в [B] System.Web.WebPages.Razor.Configuration.HostSection. Тип A происходит из System.Web.WebPages.Razor, Version = 2.0.0.0, Culture = нейтральный, PublicKeyToken = 31bf3856ad364e35 в контексте Default в расположении C: \ Windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System .Web.WebPages.Razor \ v4.0_2.0.0.0__31bf3856ad364e35 \ System.Web.WebPages.Razor.dll. Тип B происходит из System.Web.WebPages.Razor, Version = 1.0.0.0, Culture = нейтральный, PublicKeyToken = 31bf3856ad364e35 в контексте Default в расположении C: \ Windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System .Web.WebPages.Razor \ v4.0_1.0.0.0__31bf3856ad364e35 \ System.Web.WebPages.Razor.dll.
Описание: необработанное исключение произошло во время выполнения текущего веб-запроса. Просмотрите трассировку стека для получения дополнительных сведений об ошибке и ее происхождении в коде.
Сведения об исключении: System.InvalidCastException: [A] System.Web.WebPages.Razor.Configuration.HostSection нельзя преобразовать в [B] System.Web.WebPages.Razor.Configuration.HostSection. Тип A происходит из System.Web.WebPages.Razor, Version = 2.0.0.0, Culture = нейтральный, PublicKeyToken = 31bf3856ad364e35 в контексте Default в расположении C: \ Windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System .Web.WebPages.Razor \ v4.0_2.0.0.0__31bf3856ad364e35 \ System.Web.WebPages.Razor.dll. Тип B происходит из System.Web.WebPages.Razor, Version = 1.0.0.0, Culture = нейтральный, PublicKeyToken = 31bf3856ad364e35 в контексте Default в расположении C: \ Windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System .Web.WebPages.Razor \ v4.0_1.0.0.0__31bf3856ad364e35 \ System.Web.WebPages.Razor.dll.
Ошибка источника:
Я установил MVC 3 на сервере и на своем компьютере. Я попытался заменить его кодовой базой 15-дневной давности, но существует та же проблема.
теперь я хочу это решить. Кто-нибудь знает, как я могу это исправить.
источник
Ответы:
В корневом файле Web.config убедитесь, что assemblyBinding содержит правильную версию для сборки «System.Web.WebPages.Razor» и «System.Web.Mvc». Проверьте их фактическое существование, а также отсутствие тега сборки "System.Web.WebPages.Razor", вызывающего ошибку. На момент написания этой статьи у меня были версии сборки 3.0 и 5.0 соответственно с полными обновлениями NuGet. Код должен выглядеть примерно так, как показано ниже. PublicKeyToken останется неизменным между версиями. Ура!
источник
Мой случай обновлялся с mvc4 до mvc5.
Я убедился, что мои ссылки синхронизированы (с недавно созданным приложением mvc5), соответствующим образом обновил файл web.config, но он по-прежнему не работал. Наконец, это сработало, когда я изменил свой файл web.config ( INSIDE THE VIEWS directory ) с:
К этому:
ПОМНИТЕ: остановите iis (экспресс или собственный), очистите решение, соберите и запустите.
источник
На всякий случай, если ответа ian было недостаточно (и сборки верны, но кастинг все еще неверен), скорее всего, вы еще не обновили,
<configSections>
чтобы отразить новую сборку. убедитесь, что часть сборки также ссылается на версию 3.0System.Web.WebPages.Razor
библиотеки. например(Обратите внимание, что все они ссылаются
version=3.0.0
сейчас)источник
Решение Яна работало в одном проекте, но для других мне нужна более полная информация в разделе Как перейти на MVC 5 и Web API 2.
источник
Эта проблема очень распространена, когда вы разрабатываете для MVC 4, а затем внезапно устанавливаете пакет, доступный в более новой версии, поэтому он ломает все приложение.
Единственное решение такой проблемы - обновить все ваше приложение до более новой или установить старый пакет, совместимый с вашим приложением.
источник
Проблема:
Идентификация:
Ошибка связана с файлом конфигурации, т.е. web.config вашего проекта.
Здесь вы обнаружите, что для версии Razor установлено значение 2.0.0.0, тогда как в вашем проекте версия 2.0.0.0 недоступна.
Решение:
Это просто, просто измените версию с 2.0.0.0 на 3.0.0.0, и все будет в порядке.
Вам не нужно устанавливать перенаправление или около того, так как это все усложнит.
источник
Я нашел проблему и решение.
1 Я нацеливаю свой код на 4.0, а затем загружаю код, и он работает. Перед этим я также обновил свой код до asp.net MVC 4.
теперь работа :)
источник
Откройте расположение двух файлов dll в вашей системе, скопируйте одну из файлов dll из расположения вашего файла в другую
и попробуйте запустить проект.
источник
Другой способ исправить это без обновления ссылок - это
источник