System.DllNotFoundException 问题分析与解决
来源:互联网 发布:完美无缺的名侦探 淘宝 编辑:程序博客网 时间:2024/06/05 18:25
最近做C++大作业,界面是用C#构建,而程序处理核心使用native C++写的DLL,整个程序用VS2010编译,最初在我们三人的电脑开发测试时发现一切运行正常,但是当发给别人运行的时候,当WPF做的界面调用C++编写的DLL的时候,就会弹出System.DllNotFoundException错误,我把DLL放在System32和exe所在目录下发现问题依旧。
翻了很多中文网站似乎没有找到解决方案...后来在某外国网站看到,出现这种原因的可能性有:
1. DLL函数是否有正确导出。这个我在有的人的电脑可以运行,这说明函数已经正确导出了。
2. 导入的方法是否正确。
[DllImport( "GDIPlusLibrary.dll", EntryPoint="ImageEffects" )]
public static extern IntPtr ImageEffects( IntPtr bitmap, ref Parameter param );
导出方法如上,在开发者的电脑可以运行,所以上述问题不予考虑。
3. DLL有没有依赖什么其他DLL,仔细看了C++代码,没有调用什么其他DLL。
那么问题究竟在何处?后来按大家一贯思路,用Depends查看DLL需要什么运行库,竟然发现DLL需要msvcr100.dll!我明明没有调用它,也没选择MFC,为什么会这样。
如果出现这种情况,那么这个DLL运行的电脑需要安装 VC 2010 运行库,后来用VS 2008重新编译了这个DLL,现在只要装了VC++ 2008 Runtime Library的电脑都不会出错了。
总结:
出现匪夷所思的DLL无法加载的问题,看看是否是DLL需要其他DLL,尽管你没调用其他DLL,但是不保证你的编译器偷偷帮你生成了调用其他DLL的代码。出现上述问题,可以尝试安装VC运行库,应该就可以解决问题!
- System.DllNotFoundException 问题分析与解决
- System.DllNotFoundException 问题分析与解决
- DllImport System.DllNotFoundException 问题分析与解决
- System.DllNotFoundException
- 解决 “System.DllNotFoundException …找不到指定的模块.”
- [解决]System.DllNotFoundException: 无法加载 DLL“SQLite.Interop.DLL” -- 绿化System.Data.SQLite.dll
- Mono System.DllNotFoundException: gdiplus.dll
- System.DllNotFoundException: 无法加载DLL
- System.DllNotFoundException: 无法加载DLL
- 【Unity3d】如何解决Unity3d在引用外部插件时报DLLNotFoundException的问题
- System.DllNotFoundException Unable to load DLL SQLite.Interop.dll解决办法
- win xp C# 调用 C++ dll system.dllnotfoundexception
- Unity 安卓下使用串口提示:System.DllNotFoundException: MonoPosixHelper的解决办法
- System.DllNotFoundException: 无法加载 DLL异常来自 HRESULT:0x800736B1
- enqueue:HW问题分析与解决
- javascript 浮点运算问题分析与解决
- Javascript 浮点运算问题分析与解决
- Javascript 浮点运算问题分析与解决
- Symbian快速签名流程详解
- oracle学习笔记_触发器
- axis1.4 myeclipse 生成客户端
- Symbiansigned 签名readme.txt例子
- 误删Oracle10g数据找回
- System.DllNotFoundException 问题分析与解决
- 如何成为Android高手
- 2010-8-25
- 服务器和数据库
- vb窗体的模态和非模态 modal and modaless
- win7 用户和组
- SAP-显示总账帐户余额G/L Account Balances
- 如何识别 SQL Server 的版本
- HI