System.DllNotFoundException:“Unable to load DLL ‘XXX.dll‘ or one of its dependencies: 找不到指定的模块。 (0x8

问题说明

在项目使用时使用c#代码调用c++的dll时遇到了下面问题:

原本以为c#调用时只需要一个最终的DLL文件放置在同一目录下就可以了,但是一直会出现【System.DllNotFoundException:“Unable to load DLL ‘XXX.dll’ or one of its dependencies: 找不到指定的模块。 (0x8007007E)”】的错误,后面才发现看少了“one of its dependencies”的这一提示。

问题分析

出现此问题的原因一般有一下几个:
1)dll在执行的程序同一目录下不存在;

例如:
	运行的文件为X.exe,依赖为A.dll
文件放置位置为如下:
	-Debug
		-X.exe
		-A.dll
		-...

2)缺少目标XXXdll的依赖,例如要用到的是A.dll,A.dll用到时需要添加B.dll动态库文件,在用到时需要两个dll同时存在

例如:
	运行的文件为X.exe,依赖为A.dll,A.dll的依赖为B.dll
文件放置位置为如下:
	-Debug
		-X.exe
		-A.dll
		-B.dll
		-...

你可能感兴趣的:(c++调用c#,c#,开发语言,c++)