CSS Friendly и обновление до ASP.NET 4.0
Я только что обновил одно из наших веб-приложений до ASP.NET 4.0. Он использует CssFriendly для меню и несколько страниц с деревьями. Когда я пытаюсь запустить на своей локальной машине (Win7 x64, IIS7), я получаю:
Произошла ошибка во время обработки файла конфигурации, необходимого для обслуживания этого запроса. Пожалуйста, просмотрите подробности конкретной ошибки ниже и измените файл конфигурации соответствующим образом.
Сообщение об ошибке синтаксического анализатора: не удается найти элемент браузера или шлюза с идентификатором "MozillaFirefox".
Ошибка источника:
Строка 7: browser>
Строка 8:
Строка 9:
Строка 10:
Строка 11: <адаптер> controlType = "System.Web.UI.WebControls.Menu"Исходный файл: E:\RivWorks\localhost\App_Browsers\CSSMenuAdapter.browser
Информация о версии:
Microsoft.NET Framework Версия: 4.0.30319;
ASP.NET версия:4.0.30319.1
Я просмотрел некоторые решения и следовал инструкциям по адресу http://www.asp.net/LEARN/whitepapers/aspnet4/breaking-changes под заголовком "Обновлены файлы определения браузера". Если я запускаю ASPNET_REGBROWSERS в командном окне в VS2010, я получаю:
aspnet_regbrowsers –i
Команда "aspnet_regbrowsers" недопустима.
Таким образом, я попробовал это из командной строки (в режиме администратора), и это, казалось, работало. Затем я перекомпилировал свое приложение и опубликовал его заново. Я все еще получаю ту же ошибку. Есть идеи, что мне не хватает?
ПРИМЕЧАНИЕ 1. В моем файле CSSMenuAdapter.browser (CSS Friendly) есть запись:
<browser refID="MozillaFirefox">
<controlAdapters>
<adapter controlType="System.Web.UI.WebControls.Menu"
adapterType="RivWorks.Web.MenuAdapter" />
</controlAdapters>
</browser>
В C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Browsers\mozilla.browser есть:
<browser id="MozillaFirefox" parentID="MozillaRV">
<identification>
<userAgent match="Gecko\/\d+ Firefox\/(?'version'(?'major'\d+)(?'minor'\.[.\d]*))" />
</identification>
<capabilities>
<capability name="browser" value="Firefox" />
<capability name="majorversion" value="${major}" />
<capability name="minorversion" value="${minor}" />
<capability name="version" value="${version}" />
<capability name="type" value="Firefox${version}" />
</capabilities>
</browser>
Я не понимаю, почему это не может быть найдено.:(
ПРИМЕЧАНИЕ 2. Я закомментировал элемент браузера в файле CSSMenuAdapter.browser, и сайт снова работает. Я посмотрел на сгенерированный код, и он выглядит хорошо в Chrome. Я также посмотрел на него в Firefox, и он работает (почесывая голову на этом, когда он закомментирован). И IE тоже работает. Я так растерялся относительно того, что действительно сломано здесь и сейчас!
1 ответ
Обновить refID до "Firefox". это сработало для меня, потому что в C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Browsers\mozilla.browser Id - это Firefox, а не MozillaFirefox.