C# C-将项目移动到其他计算机后缺少DLL 我用MiWw编译了一个C++ DLL库,我想在我的C项目中使用它。最初,我是在我的桌面上开发的,在那里一切都正常-我没有丢失的DLL异常,我可以使用我的C代码中需要的函数

C# C-将项目移动到其他计算机后缺少DLL 我用MiWw编译了一个C++ DLL库,我想在我的C项目中使用它。最初,我是在我的桌面上开发的,在那里一切都正常-我没有丢失的DLL异常,我可以使用我的C代码中需要的函数,c#,c++,dll,interop,winforms-interop,C#,C++,Dll,Interop,Winforms Interop,然而,在将项目转移到我的笔记本电脑上后,我无法让它工作。我的笔记本电脑拥有相同版本的Windows、Visual Studio和MinGW。我确保DLL位于正确的文件夹中,并且具有“始终复制”选项,我重新编译了它,并使用Dependency Walker检查了它的依赖关系,但我无法使它工作。DLL显然就在那里,File.ExistsmyLib.DLL总是返回true,甚至添加完整路径也无法修复它 我认为唯一可能出错的是Dependency Walker返回的这两个错误,但我已经读到这是DW的一个

然而,在将项目转移到我的笔记本电脑上后,我无法让它工作。我的笔记本电脑拥有相同版本的Windows、Visual Studio和MinGW。我确保DLL位于正确的文件夹中,并且具有“始终复制”选项,我重新编译了它,并使用Dependency Walker检查了它的依赖关系,但我无法使它工作。DLL显然就在那里,File.ExistsmyLib.DLL总是返回true,甚至添加完整路径也无法修复它

我认为唯一可能出错的是Dependency Walker返回的这两个错误,但我已经读到这是DW的一个错误

Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module.
Error: Modules with different CPU types were found.

有人知道这是什么原因吗?它困扰着我,因为它可以在一台电脑上工作,而不能在另一台电脑上工作,但我需要它在任何Windows电脑上工作。

我过去也遇到过类似的问题。你试过注册DLL吗。静态链接DLL到可执行文件是一个选项吗?它表示未找到DllRegisterServer入口点。我不明白为什么它不会工作,如果它在我的另一台电脑上工作得很好。是你的。Net framework版本仍然相同,在新旧pcDW中只是不太擅长向您显示问题所在,它已经很久没有维护了,并且显示了太多不相关的噪音。当然,真正的问题是您忘记复制一个依赖DLL,它存在于您的开发人员机器上,但不存在于您的笔记本电脑上。使用SysInternals的进程监视器,您将看到程序正在搜索DLL,但没有找到它。@saravanan,是的,两台计算机安装了相同的.NET版本@HansPassant,我在上面运行了进程监视器。我只能找到路径未找到或名称未找到的mscorrc.dll,以及一些未找到的.resource扩展名。但是,我看不到任何打开/读取myLib.dll的操作,只有CreateFile、QueryInformation、CreateMapping和CloseFile。