异常绑定参数 'message'

Exception binding parameter 'message'

我正在尝试 运行 Durable Functions 中的人机交互,我从 Microsoft 文档页面获得了示例。您可以获取代码@https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-phone-verification?tabs=csharp

我收到以下错误。

Method not found: 'Void Twilio.Clients.TwilioRestClient..ctor(System.String, System.String, System.String, System.String, Twilio.Http.HttpClient)'

我安装了以下 nuget 包

目前使用.Net 6.0

Microsoft.Azure.WebJobs.Extensions.Twilio 自 2021 年 1 月 26 日以来未更新,因此它依赖于旧版本的 Twilio 软件包,版本 5.6.3.

Twilio 包的 5.6.3 版本中,构造函数如下所示:

public TwilioRestClient(
    string username,
    string password,
    string accountSid = null,
    string region = null,
    HttpClient httpClient = null
)

(source code on GitHub)

但是在你将Twilio包升级到的版本中,构造函数是这样的:

public TwilioRestClient(
    string username,
    string password,
    string accountSid = null,
    string region = null,
    HttpClient httpClient = null,
    string edge = null
)

(source code on GitHub)

所以 Microsoft.Azure.WebJobs.Extensions.Twilio 无法找到它正在寻找的构造函数签名。它可能看起来向后兼容,但这是一个重大变化,因为 Microsoft.Azure.WebJobs.Extensions.Twilio 必须用新版本重新编译才能开始使用更新的构造函数。

您有两个选择:

  • 您不能使用 Microsoft.Azure.WebJobs.Extensions.Twilio 包,直接使用 Twilio 包并使用 Twilio SDK 发送消息。 Azure 包不会为您做那么多,因此您应该能够相对轻松地更换它。我现在会选择这个选项。
  • 您可以删除 Twilio 依赖项,因此它会退回到 Microsoft.Azure.WebJobs.Extensions.Twilio 使用的版本,尽管那样您将使用 Twilio 包的过时版本也不好,因为您可能会错过错误和安全修复。
  • 您可以获取 Microsoft.Azure.WebJobs.Extensions.Twilio 的源代码,更新 Twilio 依赖项并使用您自己的代码版本。

Twilio 或 Azure 有两种方法可以解决此问题,要么 Twilio 提供不带 edge 参数的重载,要么 Azure 将 Twilio 包更新为更新的内容。 我将在这两个项目中打开问题,以便我们可以同时启动两个更新,希望在不久的将来这不会再成为问题。

我删除了 Twilio nuget 依赖项,一切正常,Microsoft.Azure.WebJobs.Extensions.Twilio 和 Twilio

之间存在冲突