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

Sys - undefined

У меня есть проект набора компонентов ASP.Net/AJAX, над которым я работаю. В 80% случаев нет проблем. Страница работает так, как должна. Если вы обновите страницу, она иногда будет показывать ошибку javascript "Sys is undefined".

Это происходит не всегда, но воспроизводимо. Когда это происходит, пользователь должен закрыть свой браузер и снова открыть страницу.

Это заставляет меня думать, что это может быть установка IIS.

Еще одно примечание. Я посмотрел на источник страницы, когда получил ошибку, а когда нет. Когда страница вызывает ошибки, отсутствует следующий код:

<script src="/ScriptResource.axd?d=EAvfjPfYejDh0Z2Zq5zTR_TXqL0DgVcj_h1wz8cst6uXazNiprV1LnAGq3uL8N2vRbpXu46VsAMFGSgpfovx9_cO8tpy2so6Qm_0HXVGg_Y1&amp;t=baeb8cc" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
if (typeof(Sys) === 'undefined') throw new Error('ASP.NET Ajax client-side framework failed to load.');
//]]>
</script>
4b9b3361

Ответ 1

Я исправил свою проблему, перемещая блок <script type="text/javascript"></script>, содержащий вызовы Sys. * ниже (до последнего элемента до закрытия тела <asp:Content/>) в HTML на странице. Первоначально у меня был блок script в разделе HEAD <asp:Content/> моей страницы. Я работал на странице с файлом MasterPageFile. Надеюсь, это поможет кому-то.

Ответ 2

Когда я испытал ошибки

  • Sys undefined
  • ASP.NET Ajax на стороне клиента не удалось загрузить

в IE при использовании элементов управления ASP.NET Ajax в .NET 2.0 мне нужно добавить следующее в файл web.config в тегах <system.web>:

<httpHandlers>
  <remove verb="*" path="*.asmx"/>
  <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
  <add verb="GET" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler" validate="false"/>
</httpHandlers>

Ответ 3

Попробуйте настроить ScriptManager на это.

<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true" /> 

Ответ 4

Ответ Dean L, fooobar.com/questions/98027/... работал у меня, так как мой звонок в Sys тоже был слишком ранним. Поскольку я использую jQuery, вместо того, чтобы его перемещать, я помещаю script внутрь вызова document.ready:

$(document).ready(function () {
  Sys. calls here
});

Кажется, достаточно поздно, чтобы Sys был доступен.

Ответ 5

Я использовал telerik и имел точно такую ​​же проблему.

добавив это в web.config, разрешил мою проблему:)

<location path="Telerik.Web.UI.WebResource.axd">   
   <system.web>  
     <authorization>  
       <allow users="*"/>  
     </authorization>  
   </system.web>  
</location>
Возможно, это поможет вам. это была проблема аутентификации.

Источник

Ответ 6

Вы должны добавить эти строки в web.config

                                                               

<httpHandlers>
  <remove verb="*" path="*.asmx"/>
  <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
  <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
  <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
</httpHandlers>
<httpModules>
  <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</httpModules>
</system.web>

                                                       

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

Ответ 7

В дополнение к тому, что у вас есть ScriptManager на вашей странице, вы должны убедиться, что ваш web.config настроен соответствующим образом.

Когда был выпущен ASP.NET AJAX 1.0 (для .NET 2.0) было много настраиваемых параметров web.config, которые добавили обработчики, элементы управления и т.д.

Здесь вы найдете информацию о конфигурации: http://www.asp.net/AJAX/documentation/live/ConfiguringASPNETAJAX.aspx

Ответ 8

Попробуйте одно из следующих решений:

1. Браузеру не удается загрузить сжатый script

Обычно это происходит, если вы получаете ошибку в IE6, но не в других браузерах.

Обработчик ресурсов Script - ScriptResource.axd сжимает скрипты, прежде чем возвращать их в браузер. В версиях до RTM обработчик делал это все время для всех браузеров, и он не настраивался. В одном из компонентов IE6 есть проблема, которая мешает ему правильно загружать сжатые сценарии. См. Статью KB здесь. В RTM-сборках weve сделал для этого два исправления. Во-первых, мы не сжимаем, если IE6 является клиентом браузера. Два, мы теперь сделали сжатие настраиваемым. Вот как вы можете переключать web.config.

Как вы это исправите? Во-первых, убедитесь, что вы используете версию RTM AJAX Extensions 1.0 RTM. Этого должно быть достаточно. Вы также можете попробовать отключить сжатие, отредактировав файл web.config, чтобы иметь следующее:

<system.web.extensions>
<scripting>
<scriptResourceHandler enableCompression="false" enableCaching="true" />
</scripting>
</system.web.extensions>

2. Необходимая конфигурация для ScriptResourceHandler не существует для web.config для вашего приложения

Убедитесь, что ваш web.config содержит записи из файла web.config по умолчанию, содержащего установку расширений. (по умолчанию: C:\Program Files\Microsoft ASP.NET\ASP.NET 2.0 AJAX Extensions\v1.0.61025)

3. Виртуальный каталог, который вы используете для своего веб-сайта, неправильно помечен как приложение (поэтому конфигурация не загружается). Это произойдет для веб-сайтов IIS.

Убедитесь, что вы используете веб-приложение, а не только виртуальный каталог

4. Запросы ScriptResource.axd возвращают 404

Это обычно указывает на неправильную конфигурацию ASP.NET в целом. При установке ASP.NET по умолчанию любой веб-запрос ресурса, заканчивающийся на .axd, передается из IIS в ASP.NET с помощью сопоставления isapi. Кроме того, сопоставление настроено так, чтобы не проверять, существует ли файл. Если это сопоставление не существует или проверка наличия файла не отключена, IIS попытается найти физический файл ScriptResource.axd, не найдет его и не вернет 404.

Вы можете проверить, не является ли эта проблема проблемой coipy/вставки полного URL-адреса в ScriptResource.axd отсюда и просмотра того, что он возвращает.

<script src="/MyWebApp/ScriptResource.axd?[snip - long query string]" type="text/javascript"></script>

Как вы это исправите? Если ASP.NET не установлена ​​должным образом, вы можете запустить инструмент командной строки "aspnet_regiis.exe", чтобы исправить это. Он расположен в папке C:\WINDOWS\Microsoft.Net\Framework\v2.0.50727. Вы можете запустить "aspnet_regiis -i -enable", который выполняет полную регистрацию ASP.NET с помощью IIS и гарантирует, что ISAPI включен в IIS6. Вы также можете запустить "aspnet_regiis -s w3svc/1/root/MyWebApp", чтобы зафиксировать регистрацию для своего веб-приложения.

5. Устранение ошибки "Sys undefined" в RTM в ASP.NET AJAX в IIS 7

Поместите эту запись в <system.webServer/><handlers/>:

<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

и удалите его под <system.web/><httpHandlers/>.

Литература: http://weblogs.asp.net/chrisri/demystifying-sys-is-undefined http://geekswithblogs.net/lorint/archive/2007/03/28/110161.aspx

Ответ 9

Убедитесь, что все клиентские скрипты, которые взаимодействуют с .NET AJAX, имеют следующую строку в конце:

if (typeof(Sys) !== 'undefined')  Sys.Application.notifyScriptLoaded();

Это сообщает менеджеру script, что весь файл script загружен и что он может начать вызывать методы клиента

Ответ 10

У меня была такая же проблема, и после долгих споров я решил попытаться изолировать проблему и просто загрузить диспетчер script на пустой странице, которая по-прежнему приводила к этой же ошибке. Выделив проблему, которую я обнаружил при сравнении моего сайта web.config с новым (рабочим) тестовым сайтом, который меняет <compilation debug="true"> на <compilation debug="false"> в разделе system.web моего web.config, исправлена ​​проблема.

Мне также пришлось удалить запись <xhtmlConformance mode="Legacy"/> из system.web, чтобы панель обновления работала правильно. Нажмите здесь для описания этой проблемы.

Ответ 11

Мне не нравится добавлять к такой огромной теме и намного позже, но я думаю, что у меня есть решение, которое работает в VS2015 по крайней мере.

Я был на охоте, чтобы найти причину ошибки sys, и единственным решением, которое сработало для меня, было добавить EnableCdn = "true" в ScriptManager например:

  < asp: ScriptManager ID = "ScriptManager1" runat = "server" EnableCdn =  "true" />
Код>

Дополнительную информацию см. в MSDN.

Зачем нам это нужно?

При работе с веб-приложением asp.net вам необходимо включить CDN, чтобы Microsoft могла загрузить библиотеку Sys..

Вероятно, на вашей странице был script, который использовал функцию Sys. Установка EnableCdn = "true" обеспечит загрузку библиотеки Sys до ее использования.

Что такое CDN?

Цитата из https://www.sitepoint.com/7-причины в использовании-а-CDN/

Большинство CDN используются для размещения статических ресурсов, таких как изображения, видео, аудиоклипов, файлов CSS и JavaScript. Вы найдете общий JavaScript библиотеки, прокладки HTML5, сброс CSS, шрифты и другие доступные активы на различных государственных и частных системах CDN.

У Google и Microsoft есть CDN. Все, что вам нужно сделать, это добавить ссылку. Обычно CDN добавляются через ресурс script:

  < script src= "https://ajax.aspnetcdn.com/ajax/4.5.1/1/MicrosoftAjax.js" type = "text/javascript" > </script>
Код>

Как только вы установите EnableCdn = "true" , и Microsoft добавит небольшую ссылку CDN (например, выше) на страницу, загружающую библиотеку Sys.

Я надеюсь, что это поможет любому, кто столкнулся с той же проблемой.

Ответ 12

Я решил эту проблему, создав отдельное решение asp.net ajax и скопировав и вставив всю конфигурацию ajax из web.config в рабочий проект.

вот необходимая конфигурация, которую вы должны установить в web.config

    <configuration>
<configSections>
    <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
        <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
            <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
</sectionGroup>

    </sectionGroup>
</configSections>

        <assemblies>

            <add assembly="System.Web.Extensions,     Version=1.0.61025.0,       Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

        </assemblies>
           </compilation>
        <httpHandlers>
        <remove verb="*" path="*.asmx"/>
        <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
        <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
        <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
    </httpHandlers>
    <httpModules>
        <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    </httpModules>
</system.web>
    <system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <modules>
        <add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    </modules>
    <handlers>
        <remove name="WebServiceHandlerFactory-Integrated"/>
        <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
        <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
        <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    </handlers>
</system.webServer>

Ответ 13

Если ни одно из вышеперечисленных действий для вас не работает, и вы, вероятно, переопределяете OnPreRenderComplete, убедитесь, что вы вызываете base.OnPreRenderComplete. Мой терапевт будет рад видеть меня.

Ответ 14

У меня была такая же проблема после обновления моего AjaxControlToolkit.dll до последней версии 4.1.7.725 из 4.1.60623.0. Я искал и подошел к этой странице, но ни один из ответов не помог мне. Изучив образец веб-сайта Ajax Control Toolkit, который находится в zip файле CodePlex, я понял, что <asp:ScriptManager> заменен на новый <ajaxtoolkit:ToolkitScriptManager>. Я сделал это, и Sys.Extended не существует undefined.

Ответ 15

В моем случае проблема заключалась в том, что я поместил следующий код, чтобы сохранить табличный заголовок gridview после частичной обратной передачи:

    protected override void OnPreRenderComplete(EventArgs e)
    {
        if (grv.Rows.Count > 0)
        {
            grv.HeaderRow.TableSection = TableRowSection.TableHeader;
        }
    }

Удаление этого кода остановило проблему.

Ответ 16

Имел аналогичную проблему, за исключением того, что моя страница последовательно генерировала ошибку Sys undefined.

Для меня проблема связана с тем, что я только что установил расширение AJAX 1.0 для .NET 2.0, но уже создал свой веб-проект в Visual Studio.

Когда вы пытались создать элементы управления AJAX, я все время сталкивался с этой ошибкой, я заметил здесь сообщения Slace и MadMax1138s. И я понял, что это мой web.config, я создал новый проект с использованием нового типа проекта "AJAX enabled web site", и, несомненно, web.config имеет большое количество настроек, необходимых для использования элементов управления AJAX.

Я только что обновил этот web.config с обновлениями web.config, которые я уже сделал сам, и бросил его в свой существующий проект, и все сработало нормально.

Ответ 17

Пожалуйста, пожалуйста, убедитесь, что на сервере установлены правильные сроки и дата...

После того, как потратил 6 часов, я прочитал его где-то...

Дата и время для сервера должны быть обновлены для правильной работы...

в противном случае вы получите сообщение "Sys" undefined.

Ответ 18

Сегодня я видел ту же самую ошибку, но это не была проблема с конфигурацией или прямым JavaScript.

Был обновлен внешний проект .net, но изменения не были правильно подобраны в компиляции веб-сайта. Моя презумпция заключается в том, что ASP.NET ajax не смог правильно сконструировать клиентские представления объектов .NET и поэтому не смог правильно загрузить.

Чтобы решить проблему, я перестроил внешний проект и перестроил мое решение, которое испытывало проблемы. Проблема исчезла.

Ответ 19

Я обнаружил ошибку при использовании комбинации Ajax Control Toolkit ToolkitScriptManager и URL Write 2.0.

В моем <rewrite> <outboundRules> у меня было предварительное условие:

<preConditions>
    <preCondition name="IsHTML">
        <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html"/>
    </preCondition>
</preConditions>

Но, по-видимому, некоторые из моих исходящих правил не были настроены использовать предварительное условие.

Как только я установил это preCondition для всех моих исходящих правил:

<rule preCondition="IsHTML" name="MyOutboundRule">

Больше проблем.

Ответ 20

Убедитесь, что у вас нет правил перезаписи, которые изменяют ваш URL.

В моем случае приложение считало, что оно было только глубже, чем достигло URL.

Пример: http://mysite.com/app/page.aspx был настоящим URL-адресом. Но я отключил /app/, это отлично работало для ASP.net и WCF, но явно не для Ajax.

Ответ 21

У меня были схожие проблемы, и я с удивлением обнаружил, что один из моих разработчиков сохранил web.config в той же папке/решении, что и web123.config, и по ошибке оба этих файла были загружены.

Как только я удалил файл web123.config, эта ошибка исчезла, а структура ajax загрузилась правильно. даже если у меня

<compilation debug="true">

В моем случае у меня также есть следующий сегмент. Мой проект использует фреймворк 3.5

    <httpHandlers>
  <remove verb="*" path="*.asmx"/>
  <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
  <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
  <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
</httpHandlers>
<httpModules>
  <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</httpModules>
</system.web>

Ответ 22

Это будет звучать глупо, но у меня была аналогичная проблема с сайтом, который разрабатывался в VS2010 и размещался на VS Dev Server. На данной странице был создан сценарий, чтобы создать соединение с wcf-службой. Я добавил дополнительный метод для службы, и эта ошибка начала появляться.

Для меня это изменилось с "Автоматически назначать порт" на "Конкретный порт" с другим номером порта в настройках веб-сайта oroject.

Хотел бы я знать, почему...

Ответ 23

Среда разработки:
  • Dev-Env: VS 2012
  • FX: 4.0/4.5
  • Реализации: Мастер (ScriptManager + UpdatePanel/Timer) + Content (UpdatePanel)
  • Шаблоны: PageRouting.

Отказ от ответственности:

Если все решения web.config не работают для вас, и вы внедрили PageRouting (IIS 7+), тогда приведенный ниже фрагмент кода решит ваши проблемы.

История:

Не хочу, чтобы Highjack этот вопрос, но имел ту же проблему, что и все остальные, и реализовал 100% предложений здесь, с незначительными изменениями для .Net 4.0/4.5, и никто из них не работал у меня.

В моей ситуации я реализовал "Маршрутизация страниц" , которая искажала мою проблему. В основном это будет работать примерно на 20 или около того, будет выполняться отладка, а затем BAM будет ошибкой с ошибкой Sys is undefined.

После рассмотрения еще нескольких сообщений, которые дошли до обсуждения логики Clean-URL, я вспомнил, что сделал настройку PageRouting.

Вот ресурс, который я использовал для создания моих шаблонов: Маршрутизация страниц

Мой однострочный код исправил мою задачу отладки VS2012:

rts.Ignore("{resource}.axd/{*pathInfo}")    'Ignores any Resource cache references, used heavily in AJAX interactions.

Ответ 24

Даже после добавления правильной записи для веб-конфигурации, все еще получающей эту ошибку? Наиболее распространенной причиной этой ошибки является JavaScript, который слишком рано ссылается на пространство имен Sys. Тогда самым очевидным исправлением будет перемещение блока java script под элементом управления ScriptManager:

Ответ 25

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

Я работаю с IIS 7 и с помощью ASP.NET v4 Framework.
В моем случае было важно, чтобы запись была добавлена ​​как в раздел, так и в раздел в файле web.config.

В моем файле web.config много обработчиков, и в моем случае было проще добавить запись ScriptResources в начало раздела обработчиков. Самое главное, оно должно быть помещено перед любой записью, которая будет действовать в качестве подстановочного знака и захватить запрос. Добавление его после того, как подстановочная запись приведет к его игнорированию, и ошибка все равно появится.
/ " >
Модуль можно добавить в верхнюю или нижнюю часть раздела.

Пример Web.config:

<system.webServer>
    <handlers>
      <clear />
      <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
      <!-- Make sure wildcard rules are below the ScriptResource tag -->
    </handlers>
    <modules>
      <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
      <!-- Other modules are added here -->
    </modules>
  </system.webServer>

Ответ 28

В моем случае я нашел очень скрытую причину... Был этот маршрут страницы с Global.ascx.cs, который не отображается в моих тестах в подпапках, но возвращает ошибку вопроса все время.. еще один день со странными проблемами.

routes.MapPageRoute("siteDefault", "{culture}/", "~/default.aspx", false, new RouteValueDictionary(new { culture = "(\\w{2})|(\\w{2}-\\w{2})" }));

Ответ 29

Привет, спасибо, он решил мою проблему,

По умолчанию vs 2008 добавит

 <!--<add verb="*" path="*.asmx" validate="false" type="Microsoft.Web.Script.Services.ScriptHandlerFactory, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
      <add verb="GET" path="ScriptResource.axd" type="Microsoft.Web.Handlers.ScriptResourceHandler" validate="false" />-->

Необходимо исправить конфигурацию по умолчанию (выше) до кода ниже FIX

 <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
  <add verb="GET" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler" validate="false"/>

Ответ 30

Просто создайте пустые .axd файлы в ваших решениях, проблема root-foder будет решена. (2 файла: scriptresouce.asx, webresource.asxd)