【发布时间】:2013-10-15 05:31:18
【问题描述】:
我在 VB.Net 和非托管 dll 中有应用程序。当我在我的电脑上运行应用程序时,它工作正常。但是当我尝试在生产中运行它时,它会出现“无法加载 dll”错误。
在我的电脑中,我通过创建与实际发布文件夹不同的文件夹来保留 .exe 和 .dll,它工作正常。
我的电脑是 64 位机器,生产环境是 32 位。
我已经尝试过所有组合,例如“Any Cpu”、“x86”、“Win32”,注意到似乎在生产机器上工作。
Exe 和 dll 在同一个文件夹中,所以不需要(我认为)担心路径,它不是 COM dll,所以不需要注册(它是原生 c++ dll)。
我已经经历了很多问题,也使用过依赖步行器,但仍然面临问题。
我们使用的是 Visual Studio 2012。
谢谢。
【问题讨论】:
-
该 DLL 是否依赖于您没有放在测试机器上的其他 DLL,并且可能在您机器上的 GAC 中?
-
@Steve 对其他dll有依赖,但是会不会导致加载dll失败?
-
我不知道它是否取决于 DLL 的作用以及它在何处执行(如果它在 init 某处或某些共享/静态成员中引用 DLL,则很可能)但有时确实如此,并且有时不会。
标签: c++ .net vb.net dll production-environment