Какова эта ошибка в проекте ASP.NET MVC 3 RTM?

Я создаю новый проект RTM MVC 3 для проекта и заменяю ссылки для используя ASP.NET MVC 3 Исходный код

но когда я снова запускаю проект, получите это исключение:

[А] System.Web.WebPages.Razor.Configuration.HostSection нельзя отбрасывать [B] System.Web.WebPages.Razor.Configuration.HostSection. Тип А берется из "System.Web.WebPages.Razor, Версия = 1.0.0.0, Культура = нейтральная, PublicKeyToken = 31bf3856ad364e35 'в контекст" По умолчанию "в месте" C:\Windows\Microsoft.Net\сборка\GAC_MSIL\System.Web.WebPages.Razor\v4.0_1.0.0.0__31bf3856ad364e35\System.Web.WebPages.Razor.dll. Тип B берется из "System.Web.WebPages.Razor, Версия = 1.0.0.0, Культура = нейтральная, PublicKeyToken = null 'в контексте" По умолчанию "в месте" C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Файлы\корень\2505c7ee\369315c5\сборка\DL3\f7bae428\d03eeed8_85bbcb01\System.Web.WebPages.Razor.DLL".

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

Ошибка источника:

Line 106:        internal static RazorWebSectionGroup GetRazorSection(string virtualPath) {
Line 107:            // Get the individual sections (we can only use GetSection in medium trust) and then reconstruct the section group
Line 108:            return new RazorWebSectionGroup() {
Line 109:                Host = (HostSection)WebConfigurationManager.GetSection(HostSection.SectionName, virtualPath),
Line 110:                Pages = (RazorPagesSection)WebConfigurationManager.GetSection(RazorPagesSection.SectionName, virtualPath)

Исходный файл: E:\Гринтур\веб-страниц\SRC\System.Web.WebPages.Razor\WebRazorHostFactory.cs Линия: 108

Ответ 1

Эта ошибка означает, что часть вашего приложения скомпилирована с использованием вашей собственной копии исходного кода в качестве ссылки, а во время выполнения ее нахождения ссылочных сборок в GAC. Убедитесь, что вы удалите все ссылки на GACed версии сборки MVC 3. Это включает в себя несколько вещей в ваших файлах web.config, которые используют этот токен открытого ключа: 31bf3856ad364e35.

Ответ 2

Я просто столкнулся с одной и той же проблемой при обновлении моего приложения, проблема была в файле web.config, расположенном в каталоге представлений, я слепо скопировал это из старого приложения (мое плохое).

Мое решение, создайте новое приложение MVC 4 и скопируйте файл web.config из каталога представлений в ваше приложение, у которого возникла проблема.

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

Ответ 3

Хотя приведенная выше тема была полезна. Я не мог заставить работу работать, пока не создал приложение 'dummy' 'basic' MVC 4, а затем сравнил web.configs, чтобы найти какие-либо изменения.

Ответ 4

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

Вместо этого он должен быть исправлен путем обновления всех ссылок конфигурации

  • System.Web.Mvc to 4
  • System.Web.WebPages to 2
  • System.Web.WebPages.Razor to 2

Обязательно обновите все web.configs, в том числе те, что указаны в каталогах View.