【发布时间】:2026-02-17 21:00:01
【问题描述】:
我有一个依赖于 B.DLL 的 A.DLL,因此适用于应用程序的 DLL 搜索顺序也适用于 DLL,我的意思是当 A.DLL 加载时,它如何搜索 B.DLL ?如果 DLL 搜索顺序不适用于 DLL,我应该将 B.DLL 保存在哪里?我应该将它保存在 A.DLL 所在的当前目录中还是应该使用表单环境路径
注意:我不能把B.DLL是System32
欢迎提出任何建议。
【问题讨论】:
-
应用程序的搜索规则,始终首先搜索包含EXE的目录。显然是存储 A.dll 和 B.dll 的好地方,绝不会是 DLL Hell 问题。
-
感谢汉斯的回复。 DLL 在包含 EXE 的目录中不存在,实际上这个 A.DLL 是一个隐式链接 B.DLL 的 COM Dll。我可以将 B.DLL 放在 A.DLL 所在的同一目录中吗?我还没有开始B.DLL的开发,在我开始之前我有这些疑问所以想澄清一下
-
您当然应该在问题中提及这一点。一个很简单的小技巧就可以解决,创建一个空的app.exe.local file。