我用VS2005编译了一个C++的DLL,是智能设备用的,类型是MFC扩展DLL。在我的C#项目里调用DLL中的函数,首先把DLL放在我的项目的bin/debug下,然后using System.Runtime.InteropServices; 声明: [DllImport("wwstest.dll")] public static extern void Dcm2Bmp(string pFileName); 调用时: Dcm2Bmp("My Documents\\ct1.dcm"); 在PocketPC2003模拟器上调试时,一执行到这里就提示:无法找到PInvoke DLL“wwstest.dll”。 在网上查了大量资料,下面是我尝试的解决方法: (1)我把[DllImport("wwstest.dll")]改成绝对地址:[DllImport(@"\ProgramFiles\Pocketdicom\wwstest\wwstest.dll")]也不行。 (2)有人说要把DLL放到system32下,复制过去以后,还是不行 (3)有人说可以把DLL添加成引用,但我添加引用,添加不上 (4)我又试着把那个DLL放在我的项目的bin下,不行,甚至把DLL放到模拟器的程序目录下面了,还是不行,几乎什么招都使了,还是不行呀。 到底怎么回事呢?有哪位大虾能指点一下小弟吗?感激不尽呀!! |