DLLImport ,调用第三方DLL,在.net framework2.0上运行正常,升级到framework3.5运行时不能正常被调用

xds1022 2014-03-22 06:42:58
DLLImport ,调用第三方DLL,[DllImport("HDMap.dll")],原先是在编译成.net framework2.0的环境下运行的,程序正常运行。
后来代码用VS 2008编写,运行环境也是在.net framework3.5,但是经常不能正常运行。不知神马原因,知道的,请告诉一声,谢谢!
...全文
234 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xds1022 2014-03-23
  • 打赏
  • 举报
回复
还是不行哦。还是谢谢楼上两位。
本拉灯 2014-03-22
  • 打赏
  • 举报
回复
x86运行。
mnxm 2014-03-22
  • 打赏
  • 举报
回复
http://bbs.csdn.net/topics/390597324 版主曾帮我解决了这个问题,可能有参考价值
本DEMO参考了https://download.csdn.net/download/abill425/10554049?tdsourcetag=s_pctim_aiomsg 资料; 非常感谢,如有侵权,请与本人联系; 与参考的资料相比,不同的是:参考资料是百度人脸SDK离线版本V1.0版本的; 而本DEMO是百度人脸SDK离线版本V1.1版本的; 本demo是x64的,封装成可供c#调用dll是BaiduFaceDll.dll 使用步骤: 1.到百度AI开放平台 https://ai.baidu.com ,下载百度人脸离线SDK,(注意版本V1.1.0,修改日期:2018.08.31) 2.下载后,把sdk包里那个443 MB的face-resource目录,复制到本demo的BaiduFaceDll\x64目录下(就是BaiduFaceDll.dll所在目录的上级目录) 3.打开BaiduFaceDll\x64\\Release\LicenseTool.exe,输入试用序列号(在百度AI开放平台取得,有效期30天),完成激活。注意,激活时需要联网。或者将已有的license.ini和license.key文件拷贝至此目录,注意注册序列号是与硬件相关的; 4.将本demo的BaiduFaceDll\x64\Release路径,加到系统的path变量中。 5.运行本demo的BaiduFaceDll\x64\Release目录下的WindowsFormsApplication1.exe,可以测试封装的dll,输入两张图片;然后单击:图像对比,会显示对比结果; 在C#中的函数注册: //请将"BaiduFaceDll.dll"修改为实际路径,如@"d:\BaiduFaceDll\x64\Release\BaiduFaceDll.dll", 或者直接把该实际路径加到系统的path变量中。 [DllImport("BaiduFaceDll.dll")] public static extern void Init();//初始化 [DllImport("BaiduFaceDll.dll")] public static extern void UnInit();//销毁 [DllImport("BaiduFaceDll.dll")] public extern static int Track(string imgstr, ref StringBuilder res);//人脸检测,imgstr为图片的base64编码字符串 [DllImport("BaiduFaceDll.dll")] public static extern int User_Add(string user_id, string imgstr);//添加用户,imgstr为图片的base64编码字符串 [DllImport("BaiduFaceDll.dll")] public static extern int User_Delete(string user_id);//删除用户 [DllImport("BaiduFaceDll.dll")] public extern static void Identify(string imgstr, ref StringBuilder res);//人脸识别,imgstr为图片的base64编码字符串 [DllImport("BaiduFaceDll.dll")] public extern static void Match(string image1, int img_type1, string image2, int img_type2, ref StringBuilder res);//人脸1:1对比编码字符串 sdk调用流程: 初始化 -> 图片对比 -> 销毁 具体详细的windows-sdk使用说明,参见 http://ai.baidu.com/docs#/Face-Offline-SDK-Windows/top 源码: 本demo的BaiduFaceDll\BaiduFaceDll目录,是本封装dll的c++源码。VS版本为2015,Framework版本为4.0。 本DEMO只是封装了几个示例,其余封装,参考样式自行编写;

110,533

社区成员

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

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

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