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

如何在C#项目中引用TapoSharp仓库并使用设备扫描功能?

解决TapoSharp引用及设备扫描模块使用问题

一、正确引用TapoSharp的两种方法

方法1:通过NuGet安装(推荐)

直接在控制台项目中安装官方发布的包,避免手动打包的错误:

  • 打开Visual Studio的NuGet包管理器控制台,执行命令:
    Install-Package TapoSharp
    
  • 或者在NuGet包管理器界面搜索TapoSharp,选择最新版本安装。

方法2:直接引用GitHub项目源码

如果需要最新未发布的功能,直接拉取源码本地引用:

  • 克隆TapoSharp仓库到本地:
    git clone https://github.com/Cirx08/TapoSharp.git
    
  • 在你的控制台项目解决方案中右键 → 添加 → 现有项目,选择克隆下来的TapoSharp.csproj文件。
  • 右键控制台项目 → 添加 → 项目引用,勾选TapoSharp项目。

二、使用设备扫描模块的正确代码

你遇到的ScanForDevices不存在的错误,是因为该功能属于TapoSharp.Devices命名空间下的DeviceScanner类,并非直接的ScanForDevices类型。正确使用示例:

using System;
using TapoSharp.Devices;

namespace HelloWorldConsole
{
    class Program
    {
        static async System.Threading.Tasks.Task Main(string[] args)
        {
            // 初始化设备扫描器
            var scanner = new DeviceScanner();
            
            // 扫描Tapo设备(默认超时5秒)
            var devices = await scanner.ScanAsync();
            
            // 输出扫描到的设备信息
            foreach (var device in devices)
            {
                Console.WriteLine($"设备名称:{device.DeviceName},IP地址:{device.IpAddress}");
            }
            
            Console.ReadLine();
        }
    }
}

三、手动打包DLL错误的排查方向

你手动打包时出现错误,大概率是以下原因:

  • 打包时未包含TapoSharp.Devices命名空间下的代码文件,导致设备扫描相关类型缺失。
  • 编译参数配置错误,部分代码未被正确编译进DLL。
    优先采用前面两种引用方式,比手动打包更稳定可靠。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 14:37:04