2010-11-04 2 views
0

Я только что обновил одно из наших веб-приложений до ASP.NET 4.0. Он использует CssFriendly для меню и несколько страниц, на которых есть деревья. Когда я пытаюсь запустить на моей локальной машине (Win7 x64, IIS7) Я получаю:CSS Friendly и обновление до ASP.NET 4.0

error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

Parser Error Message: The browser or gateway element with ID 'MozillaFirefox' cannot be found.

Source Error:

Line 7: </browser>
Line 8:
Line 9: <browser refID="MozillaFirefox">
Line 10: <controlAdapters>
Line 11: <adapter> controlType="System.Web.UI.WebControls.Menu"

Source File: E:\RivWorks\localhost\App_Browsers\CSSMenuAdapter.browser

Version Information:
Microsoft .NET Framework Version:4.0.30319;
ASP.NET Version:4.0.30319.1

Я просмотрел для некоторых решений и следовал инструкции на http://www.asp.net/LEARN/whitepapers/aspnet4/breaking-changes под «Browser Definition Обновлены файлы» заголовок. Если я бегу ASPNET_REGBROWSERS в окне командной строки в VS2010 я получаю:

aspnet_regbrowsers –i
Command "aspnet_regbrowsers" is not valid.

Так что я попытался его из командной строки (в режиме администратора), и это, казалось, работало. Затем я перекомпилировал приложение и переиздал его. Я все еще получаю ту же ошибку. Любые идеи, что мне не хватает?


Примечание 1: В моем CSSMenuAdapter.browser файл (CSS Дружественные) есть запись:

<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 \ Браузеры \ 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 работает так же. Я так потерялся, что действительно действительно сломан сейчас!

+0

B Прежде чем выполнить команду aspnet_regbrowsers, скопировали ли вы файлы конфигурации браузеров в папку .net 4.0? –

+0

Я скопировал файлы браузера 2.0 (папка файлов старых браузеров). Поскольку CssFriendly был написан для 2.0 (3.0/3.5, включенный, поскольку определения браузера были все 2.0), я думал, что это должно исправить мою проблему. –

ответ

2

обновить refID до " Firefox ", который работал для меня, потому что в C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Config \ Browsers \ mozilla.browser Id - это Firefox, а не MozillaFirefox.