You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#项目集成ZKTeco_PULLSDK_Wrapper遇CS0246等错误求助

解决ZKTeco_PULLSDK_Wrapper配置及CS0246错误的步骤

一、获取SDK所需文件

先从项目仓库中提取核心程序集i04PullSDK.dll,同时别忘了ZKTeco官方配套的依赖动态库(比如zkemkeeper.dll这类文件,是SDK运行必需的)。

二、给项目添加程序集引用

  1. 打开Visual Studio中的项目,右键点击项目名称 → 选择添加 → 引用
  2. 在弹出的窗口里点击浏览,找到你下载好的i04PullSDK.dll,选中后点击确定
  3. 如果你用的是.NET Core/.NET 5+项目,还需要把i04PullSDK.dll添加到项目文件列表中:右键项目 → 添加 → 现有项,选中dll后,在文件属性里把复制到输出目录设为如果较新则复制

三、补齐依赖文件

把ZKTeco官方的动态库(比如zkemkeeper.dll)放到项目的输出目录下(比如bin/Debug/net6.0文件夹),不然运行时会出现找不到依赖的错误。

四、代码修正与检查

  1. 先确认项目目标框架和SDK支持的框架一致(比如SDK基于.NET Framework 4.6,你的项目就不能用.NET Core 3.1,必须匹配)
  2. 修正代码中的参数问题,原代码里Connect方法的端口号传的是字符串,而SDK的该参数一般是int类型,调整后代码如下:
using i04PullSDK;

AccessPanel ACDevice = new AccessPanel();

// 连接设备,端口号改为数值类型
if (!ACDevice.Connect("192.168.1.201", 4370, "1234", 5000))
{
    // 可以加个错误提示,比如Console.WriteLine("连接设备失败");
    return;
}

// 读取用户
List<User> users = ACDevice.ReadUsers();
if (users == null)
{
    // Console.WriteLine("读取用户列表失败");
    return;
}

// 打开1号门5秒
if (!ACDevice.OpenDoor(1, 5))
{
    // Console.WriteLine("开门操作失败");
    return;
}

五、额外排查点

  • 如果添加引用后仍报错,右键项目里的i04PullSDK.dll引用,查看属性,确认复制本地设为True
  • ZKTeco的SDK大多是32位,需要把项目平台目标设为x86:右键项目 → 属性 → 生成 → 平台目标选择x86

内容的提问来源于stack exchange,提问作者Pipe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 06:45:37