未找到 dll 程序集或依赖项

dll assembly or dependency not found

我有一个 dll 用作另一个应用程序的接口。如果我尝试在 Windows 7 x64 下的程序中使用 dll,我在运行时遇到异常,找不到程序集或程序集的依赖项。

我使用了 dependency walker,它给了我这个输出:

我知道这可能与 Win 7, 64 bit, dll problems 重复,但我无法解决问题。

感谢任何帮助。

亲切的问候,福克斯

尝试清理解决方案中的 Debug 和 Release 文件夹。然后删除并再次添加unity。

1: - 检查您引用的程序集是否引用了旧版本的 unity。例如,假设您有一个名为 ServiceLocator.dll 的程序集,它需要旧版本的 Unity 程序集,现在当您引用 ServiceLocator 时,您应该为它提供旧版本的 Unity,这就产生了问题。

2: - 可能是所有项目构建其程序集的输出文件夹,具有旧版本的 unity。

您可以使用 FusLogVw 找出谁在加载旧程序集,只需为日志定义一个路径,然后 运行 您的解决方案,然后检查(在 FusLogvw 中)Unity 程序集所在的第一行已加载,双击它并查看调用程序集,然后就可以了。

失败在我这边

我的目录中有两个几乎同名的 .dll 文件。一个大约 6MB,另一个只有 50KB,这似乎是某种包装器。设置对 6MB 文件的引用解决了这个问题。