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

.NET Framework 4.8中Telnyx出站SMS示例代码无法运行求助

解决方案

1. 问题根源:SDK版本不兼容

你遇到的编译错误是因为使用了TELNYX.NET SDK v2.x及以上版本,但参考的是旧版(v1.x)的示例代码。新旧版本API结构差异显著:

  • 旧版(v1.x):使用静态Message.Create方法和MessageOptions类
  • 新版(v2.x+):改用TelnyxClient实例调用服务,对应选项类为SmsMessageCreateOptions

2. 适配新版SDK的代码修改

2.1 补充必要命名空间

确保添加以下引用:

using Telnyx;
using Telnyx.Messaging;
using System;
using System.Collections.Generic;

2.2 修正发送逻辑

新版SDK需要先初始化客户端,再调用消息创建方法:

// 初始化Telnyx客户端(建议全局单例使用)
var telnyxClient = new TelnyxClient(apiKey: "KEY01939D9F6C479B1E4A0FBF905CCC05BD_HjBhvrJVXllCBR1YTgjt0b");

// 构建SMS发送参数
var sendOptions = new SmsMessageCreateOptions
{
    From = "+18445550001", // 移除多余的转义符\
    MessagingProfileId = Guid.Parse("abc85f64-5717-4562-b3fc-2c9600000000"),
    To = tmpPhone,
    Text = the_message,
    Subject = "VIJILCON ALERT",
    MediaUrls = new List<string> { "http://example.com" },
    WebhookUrl = new Uri("https://www.vijilcomm.com/webhooks1"),
    WebhookFailoverUrl = new Uri("https://www.vijilcomm.com/webhooks2"),
    UseProfileWebhooks = false,
    Type = SmsMessageType.Sms // 使用枚举替代字符串常量
};

// 同步发送消息(异步场景请用CreateAsync并添加await)
var sentMessage = telnyxClient.Messages.Create(sendOptions);

2.3 关键变更点

  • 移除TelnyxConfiguration.SetApiKey,改为在TelnyxClient实例化时传入API密钥
  • MessageOptions替换为SmsMessageCreateOptions,部分属性类型调整(如WebhookUrl改为Uri类型)
  • 静态方法Message.Create改为通过客户端的Messages服务调用Create/CreateAsync
  • 电话号码无需转义,直接使用"+1xxxxxx"格式
  • 消息类型使用枚举SmsMessageType.Sms而非字符串"SMS"

3. 额外排查步骤

  • 若仍提示类型缺失,清理并重新生成项目(菜单栏→生成→清理解决方案,再重新生成)
  • 确认TELNYX.NET包已正确安装到当前项目(而非解决方案内其他项目)
  • 检查是否存在命名冲突(如自定义了Message类,可改用全限定名Telnyx.Messaging.Message)
  • 验证.NET Framework 4.8兼容性:TELNYX.NET v2.x+支持4.6.1及以上版本,4.8完全兼容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 16:55:06