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

引入Microsoft.Extensions.Hosting引发Microsoft.Extensions.Logging.Abstractions加载错误求解决

解决方案:修复Microsoft.Extensions.Logging.Abstractions加载错误

错误原因

Microsoft.Extensions.Hosting 7.0.0内部依赖Microsoft.Extensions.Logging.Abstractions 7.0.0.0,用于处理主机启动、配置加载等流程的日志抽象逻辑。移植项目时,新项目可能未自动拉取该依赖包,或存在版本冲突,导致程序集加载失败。

具体解决步骤

1. 手动安装缺失的依赖包

打开NuGet包管理器控制台,执行以下命令安装对应版本的包:

Install-Package Microsoft.Extensions.Logging.Abstractions -Version 7.0.0

或通过Visual Studio的NuGet包管理器界面,搜索并安装该包的7.0.0版本。

2. 清理项目并重建

  • 右键项目,选择清理
  • 删除项目目录下的bin和obj文件夹
  • 重新生成项目,确保所有依赖正确编译和复制

3. 统一相关包版本

检查项目中所有Microsoft.Extensions.*系列的NuGet包版本,确保它们保持一致(均为7.0.0版本)。混合不同版本的Microsoft.Extensions组件极易引发程序集加载冲突。

4. 添加程序集绑定重定向(仅适用于.NET Framework项目)

如果你的项目是.NET Framework,在app.config或web.config中添加以下绑定重定向配置,强制程序使用正确版本的程序集:

<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
      <assemblyIdentity name="Microsoft.Extensions.Logging.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
      <bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" />
    </dependentAssembly>
  </assemblyBinding>
</runtime>

5. 验证User Secrets配置

  • 右键项目,选择Manage User Secrets,确认连接字符串已正确配置
  • 确保你的HostBuilder代码正确加载了User Secrets配置,示例代码如下:
var host = Host.CreateDefaultBuilder()
    .ConfigureAppConfiguration((context, config) =>
    {
        if (context.HostingEnvironment.IsDevelopment())
        {
            config.AddUserSecrets<Program>();
        }
    })
    .Build();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 18:01:22