迁移到 .NET 8 InProcess Azure 函数(服务总线触发器)后缺少 `AspNetCore.Routing` 程序集,但它可以在本地工作

问题描述 投票:0回答:1

我正在致力于将 Azure 函数应用程序(服务总线触发器)从 .NET 4.8 迁移到 .NET 8,该应用程序在我的本地按预期工作,没有任何错误。当我将函数应用程序部署到 Azure 门户时,我遇到以下错误。

“Microsoft.Azure.WebJobs.Script:在外部启动类中配置服务时出错。Grpc.AspNetCore.Server:无法加载文件或程序集'Microsoft.AspNetCore.Routing,Version=7.0.0.0,Culture=neutral,PublicKeyToken= adb9793829ddae60'。系统找不到指定的文件。”

这是我的 .Cs proj 文件代码:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
    <AzureFunctionsVersion>v4</AzureFunctionsVersion>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Azure.Storage.Blobs" Version="12.22.2" />
    <PackageReference Include="Azure.Storage.Common" Version="12.21.1" />
    <PackageReference Include="Microsoft.Azure.WebJobs.Extensions.ServiceBus" Version="5.13.0" />
    <PackageReference Include="Microsoft.Data.SqlClient" Version="5.2.2" />
    <PackageReference Include="Microsoft.Extensions.Logging" Version="8.0.1" />
    <PackageReference Include="Microsoft.NET.Sdk.Functions" Version="4.5.0" />
    <PackageReference Include="System.Configuration.ConfigurationManager" Version="8.0.1" />
    <PackageReference Include="System.Data.SqlClient" Version="4.8.6" />
    <PackageReference Include="System.Net.Http" Version="4.3.4" />
    <PackageReference Include="System.ServiceModel.Duplex" Version="6.0.0" />
    <PackageReference Include="System.ServiceModel.Http" Version="8.0.0" />
    <PackageReference Include="System.ServiceModel.NetTcp" Version="8.0.0" />
  </ItemGroup>
  <ItemGroup>
    <None Update="host.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
    <None Update="local.settings.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
      <CopyToPublishDirectory>Never</CopyToPublishDirectory>
    </None>
  </ItemGroup>
  <ItemGroup>
    <Folder Include="Instances\" />
  </ItemGroup>
</Project>

我仅在 AzurePortal 中遇到此错误,它按预期在我的本地环境中工作。

想了解这个问题

c# azure azure-functions azureservicebus azure-functions-runtime
1个回答
0
投票

将所有 nuget 包更新到最新版本并将 Microsoft.Azure.WebJobs.Extensions.ServiceBus 降级到 5.120 后,该问题现已修复。 0.

在 Azure 门户的配置中添加了以下值 在此输入图片描述

© www.soinside.com 2019 - 2024. All rights reserved.