2008-11-16 43 views
0

當我運行我的asp.net程序,我得到的錯誤類型「System.Web.UI.ScriptManager」不明確:它可能來自程序集

類型「System.Web.UI.ScriptManager 「不明確:

我有這個人是有http://forums.asp.net/t/1313257.aspx,同樣的問題,當我改變1.0.61025.0 3.5和重新編譯它重置爲1.0.61025.0

我所能我要解決這個問題。我一直試圖讓我的應用程序現在運行數小時。

感謝

編輯〜HELPPpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp

我看到在GAC 2個System.Web.Extensions程序。我嘗試使用gacutil.exe/u system.web.ext刪除,版本= 1.0.61025.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35 Microsoft(R).NET全局程序集緩存實用程序。版本2.0.50727.42 版權所有(c)Microsoft Corporation。版權所有。

未知選項:版本= 1.0.61025.0 我做錯了什麼。

編輯〜我的解決方案

我去「添加或刪除程序」,並取消安裝Ajax的Web擴展1.0.61025.0

回答

1

它看起來像你(可能是間接的)2.0版引用舊的System.Web.Extensions DLL。檢查你的配置文件並搜索「System.Web.Extensions」的應用程序。還要確保舊版本不在您的bin文件夾中(並且不會在那裏複製)。

確保您沒有使用任何其他使用舊的System.Web.Extensions DLL的庫,即AJAX Toolit 1.0.x.

0

更新您的項目參考並清理您的bin目錄。 Asp.net從斌

加載AJAX以前的版本請確保您刪除: - System.Web.Extensions.dll - System.Web.Extensions.Design.dll
- 老AjaxToolkit.dll的版本

0

解決該較新的替代方法是將其添加到web配置

1

你需要註釋掉System.Web.Extensions程序和System.Web.Extensions.Design舊引用,並添加3.5那些在你的web.config:

<!-- <add assembly="System.Web.Extensions.Design, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> --> 
    <!-- <add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> --> 
    <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
    <add assembly="System.Web.Extensions.Design, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 

,以防止他們被加回去,你需要去除1。0版本從GAC使用GACUTIL:

C:> cd C:\Program Files\Microsoft Visual Studio 8\SDK\bin 
    C:\Program Files\Microsoft Visual Studio 8\SDK\bin>gacutil /u "System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" 

如果您需要刪除一個參考,你可以嘗試

gacutil /u /r "System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" FILEPATH C:\WINDOWS\system32\msiexec.exe "Windows Installer" 

http://msdn.microsoft.com/en-us/library/ex0ss12c(v=VS.71).aspx將是你的語法參考。上面是我試圖擺脫從Windows Installer DLL的引用,但它不工作,因爲它是一個註冊表引用,而不是FILEPATH之一,或一個FILEPATH可以刪除,我猜。無論我需要什麼,它都不在網站上提供。所以我找到了「System.Web.Extensions」的註冊表。我在HKEY_CURRENT_USER \ Software \ Microsoft \ Installer \ Assemblies \ Global下找到了它的條目和它的「設計」版本。在我刪除了兩個條目後,我可以使用第一個gacutil命令刪除它們,我已經在那裏很好(重新運行它爲「設計」之一)。 &%$#微軟!

-Tom

P.S.如果你沒有VS 2005的SDK,你也可以在C:\ WINDOWS \ Microsoft.NET \ Framework \ v1.1 *上找到gacutil。或者直接到C:\ WINDOWS \ Assembly並找到正確的(謹慎!!)並按Delete鍵。

P.P.S.如果您擁有AJAX Control Toolkit,並且它將1.0 DLL自動刷新到您的Bin中,您可能會收到其中一個「模棱兩可的引用」錯誤 - 它可能不知道是否將GAC或Bin用於3.5 DLL。在這種情況下,我不得不將這些條目添加到我的ASPX頁面的頂部:

<%@ Assembly Name="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" %> 
    <%@ Assembly Name="System.Web.Extensions.Design, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" %> 

我可能很容易地可以使他們1.0版本和觀察,如果將工作過......

相關問題