C# 引用Win32 DLL 的问题

热情的菜鸟 2013-08-17 02:14:47
用VC6写了个Win32的DLL,VB6可以正常调用,但C#不成功,也没有任何错误提示。
怎么办?

VC6 代码
.cpp
int APIENTRY abc() {
return 10;
}

.h
int APIENTRY abc();

.def
EXPORTS
abc


VB6 调用成功的代码
Private Declare Function abc Lib "TEST.dll" () As Long


C#2012调用代码
[DllImport( "TEST.dll", EntryPoint = "abc" )]
private static extern int abc();
...全文
121 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
热情的菜鸟 2013-08-17
  • 打赏
  • 举报
回复
但是vs2012怎么也不提示我啊? 感觉应该给我一些错误信息才对。。。。。。
热情的菜鸟 2013-08-17
  • 打赏
  • 举报
回复
哦,问题解决了。 我猪了,突然想起来自己是64位的Win8。 vc6是win32的,vs2012新建的C#项目这时候默认any cpu,选成x86就ok啦。。。。。。。。。 我太猪了,弄了一天。。。。。。。。。。
智商余额不足 2013-08-17
  • 打赏
  • 举报
回复

.h
extern "C" _declspec(dllexport) int APIENTRY abc();
.cpp
extern "C" _declspec(dllexport) int APIENTRY abc()
{
    return 10;
}
智商余额不足 2013-08-17
  • 打赏
  • 举报
回复

extern "C" _declspec(dllexport) int APIENTRY abc()
{
    return 10;
}
热情的菜鸟 2013-08-17
  • 打赏
  • 举报
回复
引用 2 楼 devmiao 的回复:
dll文件路径是否正确。
100% 正确,因为我把这个DLL分别放在了C#项目的每个文件夹里测试了。
devmiao 2013-08-17
  • 打赏
  • 举报
回复
dll文件路径是否正确。
热情的菜鸟 2013-08-17
  • 打赏
  • 举报
回复
怎么办?

110,566

社区成员

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

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

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