你需要註釋掉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版本和觀察,如果將工作過......