调用DLL 找不到

ouyang4683 2011-10-10 11:41:42
[DllImport("Display.dll", CallingConvention = CallingConvention.StdCall)]


写成

[DllImport(@"D:\Display.dll", CallingConvention = CallingConvention.StdCall)]

都找不到

但Dll确实放在那个目录下的

求教
...全文
101 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ijwsoft 2011-10-10
  • 打赏
  • 举报
回复
开始--> 运行 --> cmd
regsvr32 Display.dll的全路径名
garfieldzf 2011-10-10
  • 打赏
  • 举报
回复
放在bin\Debug下。
hsphsphsp 2011-10-10
  • 打赏
  • 举报
回复
试试:
exe所在目录
System32目录
环境变量目录
ouyang4683 2011-10-10
  • 打赏
  • 举报
回复
补充
A继承B 程序C调用A 那B里调用的DLL 应该放在哪个目录下啊
我三个目录都放了
system32也放了一个,
还是找不到。。。
liuyilin888 2011-10-10
  • 打赏
  • 举报
回复
首先:你这个DLL是标准的DLL吗?否则不能用这种方式调用
spade24 2011-10-10
  • 打赏
  • 举报
回复
检查在调用DLL之前,是否有“打开”(修改目录)的操作。
spade24 2011-10-10
  • 打赏
  • 举报
回复
1、与执行文件同个目录,即bin/debug下;
2、[DllImport(Application.StartPath+"\\Display.dll", CallingConvention = CallingConvention.StdCall)]
sdl2005lyx 2011-10-10
  • 打赏
  • 举报
回复
报这个错误不一定是dll本身的问题:这个动态库是否还依赖其他的动态库,依此类推,把所有相关的动态库都要放在相同的目录下!
ouyang4683 2011-10-10
  • 打赏
  • 举报
回复
三个DEBUG下都放了,找不到
bbb332 2011-10-10
  • 打赏
  • 举报
回复
例子:

[DllImport("RdCard.dll")]
private static extern int UCommand1(ref byte pCmd, ref int parg0, ref int parg1, byte[] parg2);

如果是debug版本的话,就把dll放到\bin\Debug目录下

110,539

社区成员

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

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

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