You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET7升级后Azure FunctionApp找不到日志抽象程序集

问题解决:.NET7 Azure FunctionApp 无法加载 Microsoft.Extensions.Logging.Abstractions

问题分析

项目升级到.NET7后出现程序集加载失败,核心原因是依赖包版本不匹配:Microsoft.NET.Sdk.Functions 4.1.3 版本与.NET7的依赖存在冲突,Microsoft.Extensions.Logging.Abstractions组件可能被旧版本依赖拉低版本,或是未正确引入。

解决方案步骤

1. 升级核心Function包到.NET7兼容版本

Microsoft.NET.Sdk.Functions 4.1.3 对.NET7支持不完善,需升级到4.1.1以上的稳定兼容版本(推荐4.2.0或更高),修改项目文件对应配置:

<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="4.2.0" />

2. 删除显式的Microsoft.Azure.WebJobs引用

Microsoft.NET.Sdk.Functions已包含Microsoft.Azure.WebJobs的正确依赖版本,手动添加的3.0.33版本会引发冲突,直接删除该行:

<!-- 删除此引用 -->
<PackageReference Include="Microsoft.Azure.WebJobs" Version="3.0.33" />

3. 对齐Microsoft.Extensions系列包版本

项目中Microsoft.Extensions.DependencyInjection为7.0.0,其他同系列包需同步到.NET7兼容版本,比如升级Microsoft.Extensions.Azure:

<PackageReference Include="Microsoft.Extensions.Azure" Version="1.7.0" />

4. 清理并重建项目

执行以下命令彻底清理依赖并重新构建:

dotnet clean
dotnet restore
dotnet build

5. 检查关联类库的.NET版本

确认PMSX.Application、PMSX.Domain、PMSX.Infrastructure三个引用项目已升级到.NET7,且它们的依赖包版本与Function项目保持一致,避免跨项目依赖冲突。

6. 手动添加缺失的程序集(可选)

若以上步骤仍未解决,可显式引入Microsoft.Extensions.Logging.Abstractions的.NET7版本:

<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="7.0.0" />

修改后的完整项目文件示例

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net7.0</TargetFramework>
    <AzureFunctionsVersion>v4</AzureFunctionsVersion>
  </PropertyGroup>
  <ItemGroup>
    <Compile Remove="FunctionInterfaces\**" />
    <Compile Remove="ModuleInterfaces\**" />
    <EmbeddedResource Remove="FunctionInterfaces\**" />
    <EmbeddedResource Remove="ModuleInterfaces\**" />
    <None Remove="FunctionInterfaces\**" />
    <None Remove="ModuleInterfaces\**" />
  </ItemGroup>
  <ItemGroup>
    <None Remove="Modules\MarketModule.cs~RF1b001614.TMP" />
  </ItemGroup>
  <ItemGroup>
    <Compile Include="ModuleInterfaces\Base\IModule.cs" />
    <Compile Include="ModuleInterfaces\IExchangeModule.cs" />
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.Azure.Functions.Extensions" Version="1.1.0" />
    <PackageReference Include="Microsoft.Azure.WebJobs.Extensions.Storage" Version="5.0.1" />
    <PackageReference Include="Microsoft.Extensions.Azure" Version="1.7.0" />
    <PackageReference Include="Microsoft.Extensions.Caching.StackExchangeRedis" Version="7.0.0" />
    <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" />
    <PackageReference Include="Microsoft.NET.Sdk.Functions" Version="4.2.0" />
    <!-- 可选:若问题仍存在添加此行 -->
    <!-- <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="7.0.0" /> -->
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\PMSX.Application\PMSX.Application.csproj" />
    <ProjectReference Include="..\PMSX.Domain\PMSX.Domain.csproj" />
    <ProjectReference Include="..\PMSX.Infrastructure\PMSX.Infrastructure.csproj" />
  </ItemGroup>
</Project>

内容的提问来源于stack exchange,提问作者HoboJeff

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 06:40:20