【问题标题】:Unable to load c++ dll, even VB.Net exe and .dll in same folder无法在同一文件夹中加载 c++ dll,甚至 VB.Net exe 和 .dll
【发布时间】: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


【解决方案1】:

最后我自己解决了问题。生产机器上没有安装 VC++ 12 运行时。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多