【问题标题】:Azure Function App failing to load IOptionsFormatterAzure Function App 无法加载 IOptionsFormatter
【发布时间】:2019-02-04 05:24:48
【问题描述】:

我有一个尝试在本地运行的 C# Azure Function App。几个月前它以前运行良好,但现在失败了:

发生主机错误
Microsoft.Azure.WebJobs.Extensions.Storage:无法从程序集“Microsoft.Azure.WebJobs.Host,版本=3.0.3.0,文化=中性,PublicKeyToken=31bf3856ad364e35”加载类型“Microsoft.Azure.WebJobs.Hosting.IOptionsFormatter” .

在某个时候,我已将 Azure Functions 和 Web 作业工具更新到最新版本 (15.10.20460.0)。

在启动时,索引函数时出现问题,因此我将 Microsoft.NET.Sdk.Functions nuget 包引用更新为最新版本 (1.0.24),它现在为我提供了上述内容错误。

我还添加了对 Microsoft.Azure.WebJobs.Extensions.Storage 3.0.3 的 nuget 包引用,以解决同样出现的缺失 TableAttribute 错误。

我检查了 bin 文件夹中具有以下版本的程序集:

  • Microsoft.Azure.WebJobs.Extensions.Storage.dll - v3.0.3.0
  • Microsoft.Azure.WebJobs.Host.dll - v3.0.4.0

【问题讨论】:

  • 这是一个完整的框架功能吗?我有一个完整的框架功能项目,不可能更新任何 nuget。这就是我所拥有的。 Microsoft.NET.Sdk.Functions (1.0.13)Microsoft.Azure.WebJobs (2.2.0)Microsoft.Azure.WebJobs.Extensions (2.2.0)。不过现在情况可能已经改变了。
  • 当您按下 F5 并弹出 Functions Core Tools 窗口时——它说您运行的是什么版本?比如我看到Function Runtime Version: 2.0.12285.0
  • @KosalaW 该项目的目标是 .NET Standard 2.0。
  • 这就是我所怀疑的——你不知何故在旧版本的工具上运行。但看起来你所有的版本都是最新的,所以我不完全确定如何。我现在正在咨询专家,很快就会回来提供更多详细信息。
  • 原来我们有一个故障排除指南,可以帮助您获得最新版本——您可以试试这个吗? github.com/Azure/azure-functions-tooling-feed/wiki/…

标签: c# azure-functions


【解决方案1】:

对于 Visual Studio for Mac 2019 用户,我发现以下内容可以帮助我。如果将 azure 函数项目添加到解决方案中,则应该会显示一条消息,指出有可用的更新模板。单击它,让他们更新,然后取消添加新项目。

这似乎也更新了工具。我的错误消失了。不知道为什么全新的 VS for Mac 2019 安装没有更新工具。

【讨论】:

  • 这比降级版本号要好得多。我们现在是 3.0.6,唯一的事情就是升级模板。这实际上是正确的答案,而不是公认的解决方法。
  • 不幸的是,我没有收到任何此类消息。使用接受的答案降级我的包参考确实在本地解决了错误。
  • @RobbVandaveer 消息是一个小字体链接或靠近表单底部的东西。希望有帮助
【解决方案2】:

Microsoft.Azure.WebJobs.Extensions.Storage 的 Nuget 包参考从最新版本 - 3.0.3 更改为 3.0.2 可解决此问题。

现在运行函数项目成功启动,没有显示错误。

【讨论】:

  • 这对我有帮助,谢谢。然而,我注意到的是 3.0.3 并不能在本地运行,但是当我在 Azure 上发布时,它确实可以按预期运行。所以现在感谢你,我可以再次在本地测试!
  • Kholofelo 的发现也证明了@brettsam 是对的,请参阅最后一条评论以下载新功能 cli。
【解决方案3】:

我正在使用 Visual Studio 2019 (16.2.0),我的大部分 Microsoft.Azure.WebJobs.Extensions 都是 3.0.6 版。 在尝试了上述所有建议但均未成功后,我意识到我的 ServiceBusTrigger 中缺少“Connection”属性。

添加连接属性立即解决了问题。

【讨论】:

    猜你喜欢
    • 2019-02-12
    • 1970-01-01
    • 2019-02-02
    • 2021-11-28
    • 2023-03-02
    • 2019-10-15
    • 1970-01-01
    • 1970-01-01
    • 2022-07-06
    相关资源
    最近更新 更多