gpt4 book ai didi

.net - 索引方法错误 'QueueTrigger' 无法加载类型“Azure.Core.SyncAsyncEventHandler”

转载 作者:行者123 更新时间:2023-12-03 06:33:43 25 4
gpt4 key购买 nike

我有一个 azure 函数队列触发器。它在本地工作正常,但在部署时却不行。在 Application Insights 中,我可以看到以下错误消息,并且由于此异常,队列触发器不会被调用。我有一个带有 azure Functions v3 的 .netcore 3.1 应用程序。即使我将其升级到.net6.0和azure功能v4。另外,我尝试升级、降级和安装一些软件包,但仍然没有解决问题。

Error message

如何修复 System.TypeLoadException - 索引方法“NameOfQueueTrigger”出错。无法从程序集“Azure.Core”加载类型 Azure.Core.SyncAsyncEventHandler?

最佳答案

Microsoft 删除了对 Azure Portal Function 应用部署的 .NET 3.1 支持:

enter image description here

使用队列触发器在本地环境(VS Code)中创建 .NET 3.1 Azure Function App - 本地测试:

enter image description here

将V3项目部署到V4 Azure Portal Function App时,出现以下警告,单击“仍然部署”选项后部署成功:

enter image description here

在 Azure 门户中测试:

enter image description here

<小时/>

我已将队列触发器函数项目从 .NET 3.1 迁移到 6,并将 Azure Functions 核心工具版本 3 迁移到 4,并进行了以下更改:

enter image description here

.csproj 文件代码:

<Project  Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<!-- <TargetFramework>netcoreapp3.1</TargetFramework>
<AzureFunctionsVersion>v3</AzureFunctionsVersion> -->
<TargetFramework>net6.0</TargetFramework>
<AzureFunctionsVersion>v4</AzureFunctionsVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions.Storage" Version="4.0.5" />
<!-- <PackageReference Include="Microsoft.NET.Sdk.Functions" Version="3.1.1" /> -->
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="4.1.1" />
</ItemGroup>
<ItemGroup>
<None Update="host.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="local.settings.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToPublishDirectory>Never</CopyToPublishDirectory>
</None>
</ItemGroup>
</Project>

它要求在更改 .csproj 文件中的版本后恢复丢失的依赖项,然后单击恢复它们:

enter image description here

结果:
enter image description here

Error indexing method ‘NameOfQueueTrigger’. Could not load type Azure.Core.SyncAsyncEventHandler from assembly ‘Azure.Core’

对于此错误,请检查以下步骤:

  1. 检查 local.settings.json 中定义的连接字符串与功能代码中的连接字符串是否相同,并指向正确的存储帐户和正确的队列名称:

enter image description here

  • 有关类似问题,请参阅@MayankBargali-MSFT 提供的 MS 问答 503163。
  • 关于.net - 索引方法错误 'QueueTrigger' 无法加载类型“Azure.Core.SyncAsyncEventHandler”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75087439/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com