我正在運行一個DNN 4.9.x站點,其中包含許多我們編寫的自定義模塊。他們都使用.NET 2.0,直到我升級其中一個使用3.5。混合使用.NET 2.0和3.5的DNN模塊
現在我發現了在2.0模塊此錯誤
錯誤CS0433:類型 'System.Web.UI.UpdatePanel' 存在於 兩個 「C:\ Windows \組件\ GAC_MSIL \ System.Web.Extensions \ 3.5.0.0__31bf3856ad364e35 \ System.Web.Extensions.dll' 和 'c:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files \ root \ 5badfcee \ f17ac744 \ assembly \ dl3 \ 69975b21 \ 004187ac_515cc701 \ System.Web.Extensions.DLL'
除了升級所有其他模塊以使用3.5之外,還有什麼可以做的嗎?
更新:這將是更容易的我模塊,其餘只是升級到3.5
如果我刪除了2.0版本System.Web.Extensions.dll的我得到這個:
莫非不加載文件或程序集 'System.Web.Extensions, Version = 1.0.61025.0,Culture = neutral, PublicKeyToken = 31bf3856ad364e35'或 其依賴項之一。系統 找不到指定的文件。
我的前綴擴展就是:
<%@ Register Assembly="System.Web.Extensions" Namespace="System.Web.UI" TagPrefix="ajx" %>
所以沒有什麼規定,除了該項目的基準2.0版本。我對引用的理解是,您只需引用程序集的最低版本,除非發生重大更改,否則它將與未來版本一起使用。
解決 我需要把它添加到我的web.config
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
</dependentAssembly>
</assemblyBinding>
我正在編輯問題以包含該結果。 – AndyMcKenna 2009-10-16 16:20:20
你說得對,我可以通過web.config添加到我的問題中去掉2.x。謝謝! – AndyMcKenna 2009-10-16 16:44:04