解决“无法加载文件或程序集”运行时异常

时间:2016-12-20 21:20:12

标签: c# .net reference .net-assembly

多年来,这种错误给我带来了很多令人头疼的问题,试图找出完全编译的应用程序在启动时完全失败的原因。

我主要通过第三方程序集获得此功能,特别是在运行完整.NET Framework的应用程序中。

我的问题是:我们如何修复它们?

  • 是否有自动修复方法?
  • 是否有工具可以找到及物参考及其版本? * app.config中的程序集绑定是当程序集来自第三方时解决冲突的唯一方法吗?

1 个答案:

答案 0 :(得分:2)

相当广泛的问题,但这里有一些提示:

  1. 阅读this article on how runtime binding works
  2. 将DLL部署在与可执行文件相同的文件夹中,或部署在GAC中,或者,如果绝对必须,则使用probing path
  3. 使用您要部署的相同版本进行编译。如果您有更新的DLL并且不想重新编译,则可以尝试binding redirect
  4. 如果遇到问题,请使用Fusion logs进行问题排查。