ReplyToId' 不能为空

ReplyToId' cannot be null

这个异常一直在抛。这是从我将 botframework 更新到 3.5.3 开始的。

代码:

消息控制器:

 await Conversation.SendAsync(activity, () => new DefaultDialog());

比在我的 DefaultDialog 中:

 private async Task MessageReceivedAsync(IDialogContext context, IAwaitable<IMessageActivity> argument)
        {
            var msg = await argument;


await Helper.CallMenu(context, msg);

在 CallMenu 函数中:

internal static async Task CallMenu(IDialogContext context, IMessageActivity msg)
{
    await MenuFirstPart(context, msg);

在 MenuFirstPart 函数中:

 internal static async Task MenuFirstPart(IDialogContext context, IMessageActivity msg)
        {
            await context.PostAsync("I can assist you with : ");


            msg.AttachmentLayout = AttachmentLayoutTypes.Carousel;
            msg.Attachments = new List<Attachment>();


            ThumbnailCard thumbnailCard = new ThumbnailCard()
            {
                Buttons = new List<CardAction>
                        {
                         new CardAction ()
                            {
                                Value = "Method_News",
                                Type = "postBack",
                                Title = "News"
                            },
                            new CardAction()
                            {
                                Value = "Method_About",
                                Type = "postBack",
                                Title = "About"
                            },
                            new CardAction ()
                            {
                                Value = "Method_Help",
                                Type = "postBack",
                                Title = "Help"
                            },
                        },

            };
            msg.Attachments.Add(thumbnailCard.ToAttachment());
            await context.PostAsync(msg);
        }

上下文尝试 post msg.

时抛出异常

有什么帮助吗?或者如何将我的机器人降级到 3.5.0。这在那里工作得很好......

您正在使用传入消息 (msg) 并将其发回。

您需要创建一条新消息。使用以下内容:

var reply = context.MakeMessage();