无法在ASP.NET中加载文件或程序集

本文关键字:加载 文件 程序集 NET ASP | 更新日期: 2023-09-27 18:11:59

我的teleerik版本是2012.2.607.35,当我更新到2015.2.623.45版本

我得到这个错误:

无法加载文件或程序集" Telerik.Web.UI "版本=2012.2.607.35,文化=中性,PublicKeyToken=121fae78165ba3d4'或其依赖项之一。在位于程序集的清单定义与程序集引用不匹配。(Exception from HRESULT: 0x80131040)

我将项目参考中的所有参考teleerik版本替换为2015.2.623.45,但错误仍然存在。

无法在ASP.NET中加载文件或程序集

虽然程序集绑定重定向是解决这个问题的一种方法,但正如答案所建议的那样,我建议您找到完全限定的程序集引用,并使其成为非完全限定的。它很可能是web中的Register指令。配置或在用户控件中。这样做将使未来的更新更容易,否则你会得到相同的错误,除非你下次升级也更新bindingRedirect.

您应该在web中定义汇编。配置文件

<dependentAssembly>
    <assemblyIdentity name="YourDllFile" publicKeyToken="2780ccd10d57b246" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-YourDllFileVersion" newVersion="YourDllFileVersion" />
</dependentAssembly>

<dependentAssembly>
    <assemblyIdentity name="Telerik.Web.UI" publicKeyToken="121fae78165ba3d4" />
    <bindingRedirect oldVersion="1.0.0.0-2015.2.600.45" newVersion="2015.2.623.45" />
</dependentAssembly>

我也遇到过类似的问题。我检查了我网站上bin文件夹中的.dll版本和抛出错误的版本。由于抛出错误的代码不是我自己的,我意识到.dll的版本是第三方代码的依赖。原来我的bin中的.dll已经被旧版本覆盖了。

解决方案是将正确版本的.dll放在bin文件夹中(因为这是最初与应用程序一起安装的),似乎更新未能安装新版本。