我正在运行一个DNN4.9.x站点,其中包含许多我们编写的自定义模块。它们都使用.NET 2.0,直到我将其中一个升级为使用3.5。
现在我在2.0模块上得到这个错误
错误CS0433:类型
“System.Web.UI.UpdatePanel”存在于
二者都
'C:\windows\assembly\gac_u msil\system.web.extensions\3.5.0.0_uuu31bf3856ad364e35\system.web.extensions.dll'
和
'C:\windows\microsoft.net\framework\v2.0.50727\临时
ASP.NET
文件\root\5badfcee\f17ac744\assembly\dl3\69975b21\004187ac_515cc701\system.web.extensions.dll'
除了将所有其他模块升级为使用3.5,我还能做什么?
更新:只需将其余模块升级到3.5就更容易了。
如果删除system.web.extensions.dll的2.0版本,我会得到:
无法加载文件或程序集
'system.web.extensions,'
版本=1.0.61025.0,文化=中性,
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>