我目前正在 VS Code 中开发 Azure 函数。我遇到了一个错误,该错误已在此 GitHub问题中报告。错误全文如下:Microsoft.Azure.WebJobs.Extensions.ServiceBus: Could not load type 'Microsoft.Azure.WebJobs.ParameterBindingData' from assembly 'Microsoft.Azure.WebJobs, Version=3.0.34.0, Culture=neutral, PublicKeyToken=****'. Value cannot be null. (Parameter 'provider')
建议的解决方案之一是降级Microsoft.Azure.WebJobs.Extensions.Storage. 但是,我不知道如何从扩展包降级包。在我的本地开发环境中,我使用以下默认host.json配置:
{
"version": "2.0",
"logging": {
"applicationInsights": {
"samplingSettings": {
"isEnabled": true,
"excludedTypes": "Request"
}
}
},
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[3.15.0, 4.0.0)"
}
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试了多个版本范围,每个版本范围都会导致相同的错误。由于我不熟悉.NET,因此我希望获得有关如何降级软件包以解决此问题的任何帮助或建议。谢谢。
附加信息: 我正在使用测试触发器在本地开发 EventHub 触发函数:
@app.function_name(name="EventHubTrigger1")
@app.event_hub_message_trigger(arg_name="myhub", event_hub_name="samples-workitems",
connection="")
def test_function(myhub: func.EventHubEvent):
logging.info('Python EventHub trigger processed an event: %s',
myhub.get_body().decode('utf-8')) …Run Code Online (Sandbox Code Playgroud) 我正在尝试运行 Azure 函数。升级到 .Net 6 后,使用更新版本的 Visual Studio 2022在本地调试它会出现以下异常:
启动操作“dca54039-23ee-4ec2-ad9d-9deafe1b2869”期间发生主机错误。[2022-09-08T07:07:05.464Z] Microsoft.Extensions.Configuration.Binder:无法创建“NuGet.Versioning.VersionRange”类型的实例,因为它缺少公共无参数构造函数。
我的同事没有收到此错误,并且在生产中效果很好。 我们发现的最大区别是他们的核心工具版本与我的不同。
我相信问题就在这里,但除了尝试升级之外,我还尝试了其他方法:
<AzureFunctionsVersion>v4</AzureFunctionsVersion>添加详细标志不会让我进一步并输出以下内容:
从那时起我就一直在尝试升级Tools版本。但事情是这样的:即使 func --version 告诉我我有 4.0.4736,调试窗口仍然显示 4.0.3971。我尝试了以下操作:
npm i -g azure-functions-core-tools@4我在包管理器控制台中运行。PS C:\Windows\system32> npm i -g azure-functions-core-tools@4 --unsafe-perm true
18秒修改了51个包,审计了52个包,发现0个漏洞
PS C:\Windows\system32> npm i -g azure-functions-core-tools@4.0.4736 --unsafe-perm true
26秒修改了51个包,审计了52个包,发现0个漏洞
PS C:\Windows\system32> func --version 4.0.4736
似乎没有什么帮助。