C# Azure函数应用无法加载IOptionsFormatter

C# Azure函数应用无法加载IOptionsFormatter,c#,azure-functions,C#,Azure Functions,我有一个C#Azure函数应用程序,我正试图在本地运行。几个月前,它曾运行良好,但现在由于以下原因而失败: 发生主机错误 Microsoft.Azure.WebJobs.Extensions.Storage:无法从程序集“Microsoft.Azure.WebJobs.Hosting.IOPTIONS”加载类型“Microsoft.Azure.WebJobs.Host”,版本=3.0.3.0,区域性=中性,PublicKeyToken=31bf3856ad364e35” 在某个时候,我已经将Az

我有一个C#Azure函数应用程序,我正试图在本地运行。几个月前,它曾运行良好,但现在由于以下原因而失败:

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

在某个时候,我已经将Azure函数和Web作业工具更新为最新版本(15.10.20460.0)

在启动时,它在索引函数时遇到问题,因此我将Microsoft.NET.Sdk.functionsnuget软件包参考更新为最新版本(1.0.24),现在出现上述错误

我还向Microsoft.Azure.WebJobs.Extensions.Storage添加了一个nuget包引用,以解决出现的
TableAttribute
错误

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

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

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


运行function project现在已成功启动,未显示任何错误。

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


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

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


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

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


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

我正在使用Visual Studio 2019(16.2.0),我的大多数Microsoft.Azure.WebJobs.Extensions都是3.0.6版。 在尝试了上面的所有建议但没有成功后,我发现我的ServiceBusTrigger中缺少了“Connection”属性


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

我正在使用Visual Studio 2019(16.2.0),我的大多数Microsoft.Azure.WebJobs.Extensions都是3.0.6版。 在尝试了上面的所有建议但没有成功后,我发现我的ServiceBusTrigger中缺少了“Connection”属性



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

这是完整的框架功能吗?我有一个完整的框架功能项目,不可能更新任何NUGET。这就是我所拥有的
Microsoft.NET.Sdk.Functions(1.0.13)
Microsoft.Azure.WebJobs(2.2.0)
Microsoft.Azure.WebJobs.Extensions(2.2.0)
。但现在情况可能已经改变了。当你点击F5,弹出“功能核心工具”窗口时,它说你在用什么版本运行?例如,我看到
函数运行时版本:2.0.12285.0
@KosalaW该项目的目标是.NET标准2.0。这就是我所怀疑的——不知何故,您运行的是旧版本的工具。但看起来你们所有的版本都是最新的,所以我不完全确定怎么做。我现在正在咨询一位专家,稍后会提供更多详细信息。事实证明,我们有一个故障排除指南,可以帮助您了解最新版本——您能试试这个吗?这是一个完整的框架功能吗?我有一个完整的框架功能项目,不可能更新任何NUGET。这就是我所拥有的
Microsoft.NET.Sdk.Functions(1.0.13)
Microsoft.Azure.WebJobs(2.2.0)
Microsoft.Azure.WebJobs.Extensions(2.2.0)
。但现在情况可能已经改变了。当你点击F5,弹出“功能核心工具”窗口时,它说你在用什么版本运行?例如,我看到
函数运行时版本:2.0.12285.0
@KosalaW该项目的目标是.NET标准2.0。这就是我所怀疑的——不知何故,您运行的是旧版本的工具。但看起来你们所有的版本都是最新的,所以我不完全确定怎么做。我现在正在咨询一位专家,稍后会提供更多详细信息。事实证明,我们有一个故障排除指南,可以帮助您了解最新版本——您能试试这个吗?这对我很有帮助,谢谢。然而,我注意到,3.0.3只是在本地不起作用,但当我在Azure上发布时,它确实如预期的那样起作用。现在多亏了你,我可以再次在本地测试了!Kholofelo的发现也证明@brettsam是正确的,请参阅最后一条评论以下载新函数cli。这对我很有帮助,谢谢。然而,我注意到,3.0.3只是在本地不起作用,但当我在Azure上发布时,它确实如预期的那样起作用。现在多亏了你,我可以再次在本地测试了!Kholofelo的发现也证明了@brettsam是正确的,请参阅最后一条评论以下载新函数cli。这比降低版本号要好得多。我们现在使用的是3.0.6,唯一的事情就是升级模板。这实际上是正确的答案,不是公认的解决办法。不幸的是,我没有收到任何这样的信息。使用接受的答案降级我的包参考并解决了问题