升级 DevExpress 后无法加载文件或程序集
我一直在为这个问题绞尽脑汁,希望这会是一件简单的事情,因为我太厚了,无法自己解决。
我们有一个 ASP.NET 网站(IIS7.5,Server 2008R2),它使用了精彩的 DevExpress ASP 模块。一切都工作正常,直到我有了将模块从 10.1.4 升级到 10.1.7 的好主意。从那时起,该网站就会抛出间歇性但定期的错误:
Could not load file or assembly 'DevExpress.Data.v10.1, Version=10.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
所有 .aspx 文件都有相似的寄存器标签,例如:
<%@ Register assembly="DevExpress.Web.ASPxEditors.v10.1" namespace="DevExpress.Web.ASPxEditors" tagprefix="dx" %>
我使用 DevExpress 自己的升级程序实用程序更新了 VS2010 项目。代码中任何地方都没有引用 v10.1.4 - 我已经检查了 .aspx 文件、web.config 等 - 并且 Web 服务器也拥有所有最新的 .DLL。我什至已将该站点移至全新的原始服务器,但错误仍然发生。在注册标签中指定颠覆号和公钥没有任何不同。
我已经iisreset
'd,清除了临时文件,重新启动等,但都无济于事。真正令人沮丧的是错误是不可重现的 - 有时会发生,有时不会。有人可以帮我吗?
I've been tearing my hair out over this one, and hopefully it'll be something simple that I'm too thick to work out for myself.
We've got a ASP.NET website (IIS7.5, Server 2008R2) that uses the wonderful DevExpress ASP modules. All was working fine until I had the bright idea of upgrading the modules from 10.1.4 to 10.1.7. Ever since, the site throws intermittent but regular errors that it:
Could not load file or assembly 'DevExpress.Data.v10.1, Version=10.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
All the .aspx files have similar register tags, e.g.:
<%@ Register assembly="DevExpress.Web.ASPxEditors.v10.1" namespace="DevExpress.Web.ASPxEditors" tagprefix="dx" %>
I updated the VS2010 project using DevExpress's own upgrader utility. There is no reference to v10.1.4 anywhere in the code - I've checked the .aspx files, web.config etc - and the web server has all the latest .DLL's on too. I've even moved the site to a complete new, virgin server, yet the error still occurs. Specifying the subversion number and public key in the register tag doesn't make any different.
I've iisreset
'd, cleared out temporary files, rebooted etc, all to no avail. The really frustrating thing is the error isn't reproducible - sometimes it happens, sometimes it doesn't. Can anyone help me out?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在解决方案资源管理器中:切换到文件视图并更改
Server 和 ServerGenerated 项目中的所有 DevExpress 程序集两者 。
它为我解决了这个问题。
您能尝试一下并告诉我是否有帮助吗?
In the solutionExplorer: switched to the File View and changed
for all DevExpress assemblies both in the Server and ServerGenerated projects.
It resolves the issue for me.
Could you please try it and let me know if that helps?
请确保应用程序的 bin 文件夹不包含我们的旧程序集。另外,在项目中搜索“10.1.4.0”子字符串并确保该字符串不会出现。如果这没有帮助,您必须确保您的应用程序没有引用引用我们旧程序集或驻留在 bin 文件夹中的 dll。最后,一个好主意是清除临时 ASP.NET 文件文件夹(“C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files”)...我希望这会有所帮助。
Please make certain that the application's bin folder does not contain our old assemblies. Also, search your project for '10.1.4.0' substring and make sure that this string does not appear. If this does not help, you must be sure that your application does not reference a dll which references our old assemblies or which is residing in the bin folder. Finally, a good idea is to clear the Temporary ASP.NET Files Folder ("C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files")... I hope, this will be helpful.