C#调用非托管的DLL出错,“无法加载DLL,找不到指定的模块”

leon315cn 2010-08-04 09:19:27
我需要调用的这个dll里,又引用了其他的非托管dll,我已将这个dll以及它依赖的dll放到执行目录下和system32目录下了,但是还是出现,“无法加载DLL,找不到指定的模块”的错误。我确定我的语法和dll没有问题(用同样方法调用一个没有依赖其他dll的dll,就没有问题)。

请问这种依赖其他dll的dll在C#里该如何调用?
...全文
828 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuazhuqingchong 2010-08-04
  • 打赏
  • 举报
回复
dll注册没有?
哈哈潜伏哥 2010-08-04
  • 打赏
  • 举报
回复
你这个问题比较严重啊。请问你那个托管的DLL调用那个非托管的DLL是系统自带的还是自定义的。如果是自定义的就麻烦一点,你需要查看托管那个DLL的源码确定调用的非托管DLL的路径。如果没有源码的话,可以尝试将路径全部改为英文的,长度和文件深度都要太大了。就是修改一下文件夹的名字,其中不要带有中文,可以试试。
guohelv0519 2010-08-04
  • 打赏
  • 举报
回复
点击 VS 工具菜单中的 ActiveX 控件测试容器,在弹出窗口中选择“文件”菜单中的“注册控件”,从而浏览自己所要调用的 DLL 文件,这样就完成了注册。接下来的工作就好办了。
ljm19891118 2010-08-04
  • 打赏
  • 举报
回复
这个问题很纠结
我同学前几天也出现这个问题
他把vs2008卸载了
重装也有这问题
最后重装系统
再装vs2008就好了
xuqing19830921 2010-08-04
  • 打赏
  • 举报
回复
还有种可能,你的入口点函数又没写对,建议用.net提供的depends查看下入口点函数
爱如少年 2010-08-04
  • 打赏
  • 举报
回复
杯具了无法注册,我也遇到过C++开发的COM组件,已注册REgsvr32就崩溃,最后还是重装系统才搞定
Teng_s2000 2010-08-04
  • 打赏
  • 举报
回复
那你把依赖的所有的dll的路径都放正确了呢?
leon315cn 2010-08-04
  • 打赏
  • 举报
回复
dll无法注册,报出的错误同样是 无法加载DLL,找不到指定的模块

110,549

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧