我在开发新的C#程序时使用了前辈封装好的dll文件,添加了引用和using xxx,编译时没有报错。但运行时弹出错误:未能加载文件或程序集"xx.dll"或它的某一个依赖项。系统找不到指定的模块。
错误其实出在这里:未能加载程序集"xx.dll"的某一个依赖项。这个xx.dll文件可能也引用了其他的dll文件,尤其是使用公司内部开发的工具dll时。如果被引用的那些dll文件与xx.dll不在同一目录下,也会引起此错误。但是如何查看该dll文件的依赖呢?
使用工具DependencyWalker即可,可以直接搜索下载。它可以方便地查看文件的依赖项:
如图,检查到几个缺失的dll文件,随后我也在其他旧软件中找到了这些dll文件。把它们添加至原本dll文件的同一目录下就不会再报错了。