Tuesday, December 9, 2008

[ASP.NET] 見鬼的ToolkitScriptManager

昨天要弄個點選日曆可以選時間的功能,因為看書上說ASP.NET AJAX Control Toolkit提供的ToolkitScriptManager比Visual Studio提供的ScriptManager效能更好,所以就用用看,沒想到一直出現下面的錯誤。



無法從組件 'System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 載入型別 'System.Web.UI.ScriptReferenceBase'。

描述: 在執行目前 Web 要求的過程中發生未處理的例外情形。請檢閱堆疊追蹤以取得錯誤的詳細資訊,以及在程式碼中產生的位置。

例外詳細資訊: System.TypeLoadException: 無法從組件 'System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 載入型別 'System.Web.UI.ScriptReferenceBase'。

原始程式錯誤:

在執行目前 Web 要求期間,產生未處理的例外狀況。如需有關例外狀況來源與位置的資訊,可以使用下列的例外狀況堆疊追蹤取得。

堆疊追蹤:


[TypeLoadException: 無法從組件 'System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 載入型別 'System.Web.UI.ScriptReferenceBase'。]
AjaxControlToolkit.ToolkitScriptManager.OnResolveScriptReference(ScriptReferenceEventArgs e) in c:\AjaxControlToolkit_Admin\Release\AjaxControlToolkit\ToolkitScriptManager\ToolkitScriptManager.cs:190
System.Web.UI.ScriptManager.RegisterScripts() +261
System.Web.UI.ScriptManager.OnPagePreRenderComplete(Object sender, EventArgs e) +117
System.Web.UI.Page.OnPreRenderComplete(EventArgs e) +2063008
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2247


確認該做的都做了,元件也都灌好了,實在不知道問題出在哪邊,把錯誤訊息丟上google去查,有人說是.NET 3.5沒灌....耶,我之前用都沒問題啊,好吧,重新下載.net 3.5再修復一次,結果也沒用。把書上的範例剪貼過來也會有錯誤,用WinMerge比到兩邊的web.config該一樣的地方都一樣,也還是解不了,真的是見鬼了。

最後只好用回去ScriptManager,然後就一切正常 -_-

下次重裝一次ASP.NET AJAX Control Toolkit看看好了。

3 comments:

  1. HI, 最近小弟也是在找這個問題,其實是沒有安裝 Visual Studio Sp1 ,請至微軟的網站更新就可以了,小弟的部落格
    http://careychen.pixnet.net/blog

    ReplyDelete
  2. 這個問題是錯誤方未安裝framework3.5sp1

    ReplyDelete
  3. 感謝兩位的回應,其實Carey回應後我就一直想找時間試試看,可惜上班一直撥不出空來,真是不好意思,下次有空測試後我會再來回報的。

    ReplyDelete