【发布时间】:2010-12-07 03:30:39
【问题描述】:
我正在运行一个 DNN 4.9.x 站点,其中包含我们编写的许多自定义模块。在我将其中一个升级为使用 3.5 之前,它们都使用 .NET 2.0。
现在我在 2.0 模块上遇到此错误
错误 CS0433:类型 'System.Web.UI.UpdatePanel' 存在于 两个都 'c:\WINDOWS\assembly\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 会更容易
如果我删除 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>
【问题讨论】:
标签: asp.net .net-3.5 .net-2.0 dotnetnuke