您的位置:首页 > 编程语言 > ASP

asp.net web c# 调用 c++ dll库 c++转c#对象错误 海康SDK

2018-01-15 11:32 756 查看
问题:
1、未能从程序集“PowerControl, Version=1.0.0.0 , Culture=neutral, PublicKeyToken=null”中加载类型“WIFI_AUTH_PARAM”,因为它在 0 偏移位置处包含一个对象字段,该字段已由一个非对象字段不正确地对齐或重叠。 

2、其他信息: 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)

分析
一、1、可能是sdk空间被加载导致
            见https://social.msdn.microsoft.com/Forums/windowshardware/zh-CN/58afbf38-fc5e-4cd2-b2b3-a81cee9b81f3/wifiauthparam-0-?forum=visualcshartzhchs
            和lctk这兄弟请教的方案,在这再感谢下lctk。

二、1、这个是问题很简单,环境位数与dll位数不匹配,x64和x86的问题,调成一致就可以了。

具体操作
一、1、使用c#包装下c++的库,然后再建个c# dll库,调用c#包装过的方法就可以,见图


二、1、这个在其他很简单,就是在web稍微少见一点,我是64位的库,所有要把IIS调成64
            vs2015自带IIS express,在vs的选项,选择工具-》选项-》项目和解决方案-》Web项目
            把IIS 64位打勾就可以了。



第二个问题参考这两位: http://www.cnblogs.com/leolion/p/3789732.html http://blog.csdn.net/ma_jiang/article/details/52679431
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐