2013-10-15 57 views
0

我在VB.Net和非托管dll中有应用程序。当我在PC上运行应用程序时,它工作正常。但是当我尝试在生产环境中运行时,它给出'无法加载dll'的错误。无法加载C++ dll,甚至VB.Net exe和.dll在同一个文件夹中

在我的电脑中,我通过创建不同于我的实际版本文件夹的文件夹来保存.exe和.dll,并且它工作正常。

我的电脑是64位机器,生产环境是32位。

我尝试过所有组合,比如'任何Cpu','x86','Win32',注意到在生产机器上似乎可以工作。

exe和dll都在同一个文件夹中,所以不需要(我认为)担心路径,它不是COM DLL,所以不需要注册(而且它是本机C++ dll)。

我经历了很多问题,也使用了依赖walker,还是面临问题。

我们正在使用Visual Studio 2012.

谢谢。

+0

该DLL是否依赖于其他未放在测试机器上的DLL,并且可能位于计算机上的GAC中? – Steve

+0

@Steve它依赖于其他DLL,但它会导致加载失败的DLL? –

+0

我不知道它是否取决于DLL的作用以及它在哪里做(如果它在init的某个地方或某些共享/定制的成员中引用DLL),但有时它确实有,但有时不会。 – Steve

回答

0

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