用途:在编写 C#/.NET 代码使用 Speckle.Sdk 发送、接收或查询 Speckle 数据时提供指导,避免新旧 SDK 混淆与依赖冲突。
主要能力:说明 NuGet 包选择(Speckle.Sdk 核心、Speckle.Objects 领域模型、Speckle.Sdk.Dependencies 用于连接器的 IL Repack 依赖隔离、Speckle.Automate.Sdk 用于 Automate);目标框架为 .NET Standard 2.0,开发 SDK 为 .NET 8.0.4xx,测试平台 Windows/macOS,许可证 Apache-2.0。
使用方式:通过 dotnet add package Speckle.Sdk 与 dotnet add package Speckle.Objects 安装;用 Account 与 ServerInfo 配置账户,可从环境变量读取令牌;用 Client 访问 GraphQL API;用 Operations.Send/Receive 进行异步收发,Helpers 提供简化 API;ServerTransport 负责上传与去重;Base 类支持 [DetachProperty]、[Chunkable] 等属性与动态属性。
适用场景:独立 .NET 应用、Revit/Rhino/Grasshopper/Blender 连接器、Speckle Automate 函数、单元测试与 CLI 工具。
限制与注意:不要使用已弃用的 Speckle.Core 等旧包;UI 应用中不要对异步操作调用 .Result 或 .Wait();为主机应用构建连接器必须使用 Speckle.Sdk.Dependencies;大型嵌套对象需加 [DetachProperty];交互式应用应传入 CancellationToken;不要硬编码访问令牌。IL Repack 仅用于连接器等宿主环境,独立应用、测试与 Automate 不需要。具体 API 签名与示例见资料所列参考文件与官方文档。