我创建了一个C#类库,在该C#类库中引用了别的Dll。在我的应用项目中使用了我编写的这个C#类库,并且把我的C#类库的*.dll文件和其引用的Dll的文件。
应用项目在编译时通过,但是在执行时出现:无法找到入口点,如何解决?
应用项目在编译时通过,但是在执行时出现:无法找到入口点,如何解决?
解决方案 »
- C#注册表怎么读取数据转换成bool类型不报错呢?急急急!
- TCP多线程,定时发送命令,程序运行100多次后自动停了,求解答
- 统计题,高手请出手
- 某程序根据输入的总分和课程数目计算平均分。写出实现下面输入输出形式的输入和输出语句。
- Webbrowser控件加载框架网页,如何改变一个方法的返回值
- 【算法比赛】打印有变化规律的数字正方形,看谁的代码扩展性、可读性最好。
- 一个查询语句牵扯多个表的问题
- textbox问题。
- 疑难杂症,关于python与C#输出重定向
- XMLSPY2004 Enterprise Edition
- 关于绑定了数据的DATAGRIDVIEW中删除多行数据的问题
- 用WebBrowser打开word文档,如何显示word的菜单和工具条?
出现问题的是我的应用程序调用了C#类库中通过P/Invoke引入的C++动态库中的一个函数产生的,我估计是不是在类库引用dll时有什么规定,而我不知道是什么规定!
无法在DLL“C.dll”中找到名为"FunctionA"的入口点!
注:FunctionA是在c.dll中定义的函数!现在看来应该是我编写的c.dll除了问题,可到底是什么问题呢?
(1)在制作C++Dll时,拟输出的函数需要用extern "C" __declspec(dllexport)
(2)不能有相同名称的函数,即使函数参数不同(这在C++中成为override,但是在兼容C的Dll中不行,必须改名)
如我要输出两个函数Open()和Open(PDWORD pError),必须改为不同名字,我最后改为Open()和OpenEx(PDWORD pError)