微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 升级到.NET 4.0并获取无法加载已删除的旧版DLL的文件或程序集引用

System.IO.FileLoadException: Could not load file or assembly ‘FOO,Version=1.0.3975.20137,Culture=neutral,PublicKeyToken=2aec35e026e7fee4’ or one of its dependencies. The located assembly’s manifest deFinition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
File name: ‘FOO,Version=1.0.3975.20137

我有一个C#程序,我们不断更新,它重新安装,似乎我已经将项目从VS2005升级到VS2010和.NET从2.0升级到4.0我得到这个奇怪的错误,它试图引用旧版本从上次安装的DLL.

当我进入其安装的Prorgam文件(x86)/ ….的目录时,DLL的最新版本就在那里.在代码中没有对旧DLL的引用.解决此问题的唯一方法是手动卸载程序并重新安装.之后程序运行正常.

我迷失了,并且为什么在它甚至不存在时想要继续引用旧的DLL版本而感到困惑.我试过运行fuslogvw.exe但它没有产生任何有用的信息.我还认为可能是我从头开始删除并重新创建的安装项目.我也做了通常的清洁解决方案&重建.我通过论坛和在线搜索了所有人,但大多数人似乎都有一个问题,他们的DLL的旧版本仍然在程序目录中并且新的DLL没有安装.我的问题恰恰相反.

解决方法

由于某种原因清除操作忘记删除项目的bin目录中的所有dll,我已经出现此错误,并且我不得不手动删除这些dll.您可能希望检查所有相关的dll是否在更新过程中被删除.我猜这是程序卸载时会发生什么,这就是为什么它会起作用的原因.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐