【トラブル】【ASP.NET】「ASP.NET Ajax クライアント側フレームワークを読み込めませんでした」「SYSが宣言されていません」について

■ 概要

 * 開発環境ではエラーにならなかったのに、WEBサーバーへアップしたら
  「ASP.NET Ajax クライアント側フレームワークを読み込めませんでした。」
  「SYSが宣言されていません」(英語では「Sys is undefined」)などが
   表示されることについて、ネットの情報をまとめる。
  (でたら、とりあえずIISのログでもみる)

■ 対策案「'AjaxControlToolkit'は宣言されていません」

[1]meta-base タグなどで、参照を修正する

http://blogs.yahoo.co.jp/hijiri_shibano/30683326.html
より抜粋

meta-base タグなどで、参照がずれている場合
この場合、必ずエラーになる

[2]ToolkitScriptManagerを通常のScriptManagerコントロールに置き換える

http://d.hatena.ne.jp/koolah/20100906
より抜粋
■変更前
<ajaxToolkit:ToolkitScriptManager runat="Server" ID="ScriptManager1" …/>
■変更後
<asp:ScriptManager ID="ScriptManager1" runat="server" …/>

■ 対策案「SYSが宣言されていません」

[1]以下を試す

http://social.msdn.microsoft.com/Forums/ja/aspnetja/thread/1c3c201b-8ead-4e6a-b94d-37bb90c8873b
より抜粋

IISマネージャーで当該ディレクトリのプロパティを開いて
「ディレクトリ」タブの「作成」ボタンを押してみたら解決しました。

[2] web.configの設定を見直す

http://blogs.yahoo.co.jp/tksoft/59953837.html
では、「*.axd のハンドラマッピングが出来ていない」とのことで、web.configの設定で解決できたらしい。

<add verb="GET"
path="ScriptResource.axd"
type="Microsoft.Web.Handlers.ScriptResourceHandler"
validate="false"/ >
web.config
http://blogs.msdn.com/b/webtopics/archive/2009/02/27/asp-net-ajax-functionality-not-working-on-the-page-getting-sys-is-undefined.aspx
より抜粋

<!--
       The system.webServer section is required for running ASP.NET AJAX under Internet
       Information Services 7.0.  It is not necessary for previous version of IIS.
-->
   <system.webServer>
     <validation validateIntegratedModeConfiguration="false"/>
     <modules>
       <remove name="ScriptModule" />
       <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
     </modules>
     <handlers>
       <remove name="WebServiceHandlerFactory-Integrated"/>
       <remove name="ScriptHandlerFactory" />
       <remove name="ScriptHandlerFactoryAppServices" />
       <remove name="ScriptResource" />
       <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode"
            type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
       <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode"
            type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.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=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
     </handlers>
   </system.webServer>