C#调用海康威视CHCNetSDK出现 未能从程序集中加载类型“WIFI_AUTH_PARAM”,因为它在 0 偏移位置处包含一个对象字段,该字段已由一个非对象字段不正确地对齐或重叠。

C#在调用海康威视CHCNetSDK出现 未能从程序集中加载类型“WIFI_AUTH_PARAM”,因为它在 0 偏移位置处包含一个对象字段,该字段已由一个非对象字段不正确地对齐或重叠。

详细解决办法

1、

需要把整个文件接口体头部的LayoutKind.Explicit改为LayoutKind.Auto就好,如下:

复制代码
        [StructLayoutAttribute(LayoutKind.Auto)]
        public struct WIFI_AUTH_PARAM
        {
            [FieldOffset(0)]
            public UNION_EAP_TTLS EAP_TTLS;//WPA-enterprise/WPA2-enterpris模式适用
            
            
            public UNION_EAP_PEAP EAP_PEAP; //WPA-enterprise/WPA2-enterpris模式适用

            public UNION_EAP_TLS EAP_TLS; 
        }
复制代码

2、删除所有[FieldOffset(0)],如下

复制代码
        [StructLayoutAttribute(LayoutKind.Auto)]
        public struct WIFI_AUTH_PARAM
        {
            
            public UNION_EAP_TTLS EAP_TTLS;//WPA-enterprise/WPA2-enterpris模式适用
            
            
            public UNION_EAP_PEAP EAP_PEAP; //WPA-enterprise/WPA2-enterpris模式适用

            public UNION_EAP_TLS EAP_TLS; 
        }
复制代码

修改后正常使用

 

完整代码文件如下:

  

 

posted @   古道轻风  阅读(3057)  评论(1编辑  收藏  举报
编辑推荐:
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
阅读排行:
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· Trae初体验
点击右上角即可分享
微信分享提示