我有 C# WPF 应用程序,其中使用了 C++ DLL 库。当我构建项目时,它会成功构建,并且所有 DLL 和 exe 都存储在 bin/(Platform) eg(bin/Debug) 文件夹中。
现在,如果我复制调试文件夹并将其粘贴到系统中的任何位置并尝试运行 exe,它会成功运行,但如果我将调试文件夹复制到另一个系统并尝试运行 exe,它会显示错误“无法加载 DLL” (找不到模块 HRESULT:0x8007007E)”。
如有任何建议或帮助,我们将不胜感激。
我尝试为 DLL 和 exe 设置相同的配置和平台。但仍然无法确定该 exe 在我的系统上完美运行,如果在另一个系统上尝试,它会显示“无法加载 DLL”错误。
我在c#环境中使用非托管c++ dll库时遇到了同样的问题。
1.检查dll与32位或64位CPU的兼容性。
2.检查DLL .bin 文件夹、system32/sysWOW64 或给定路径的正确路径。
3.检查DLL的配置属性>C/C++>代码生成>运行时库,所有DLL的运行时库应该是相同的。
此问题可能因平台不兼容而出现。您可以从“构建”>“配置管理器”进行更改。
在我的情况下,我的一些 dll 的运行时库设置为 MDD,其他设置为 MTD,转换为相同的运行时库帮助了我。