如何在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
相关产品推荐
相关产品推荐

