无法加载Serilog.Extensions.Hosting程序集问题求助
解决Serilog.Extensions.Hosting程序集找不到的问题
问题分析
出现System.IO.FileNotFoundException是因为Serilog.AspNetCore 7.0.0.0依赖的Serilog.Extensions.Hosting包未被正确引入或恢复。尽管Serilog.AspNetCore会间接依赖该包,但版本格式错误、缓存问题可能导致依赖加载失败。
解决方案
1. 修正Serilog.AspNetCore版本号
你的csproj中Serilog.AspNetCore的版本写为7.0.0.0,这是错误的NuGet版本格式,正确版本应为7.0.0,修正后引用如下:
<PackageReference Include="Serilog.AspNetCore" Version="7.0.0" />
2. 显式添加Serilog.Extensions.Hosting引用
如果自动依赖未生效,直接手动添加匹配版本的引用:
<PackageReference Include="Serilog.Extensions.Hosting" Version="7.0.0" />
3. 清理NuGet缓存并重做恢复
执行以下命令彻底清理本地缓存,重新拉取所有依赖:
dotnet nuget locals all --clear dotnet restore
4. 清理并重新生成项目
- 删除项目根目录下的
bin和obj文件夹 - 右键解决方案,依次选择「清理解决方案」→「重新生成解决方案」
5. 检查目标框架兼容性
确认项目的<TargetFramework>配置(如net7.0)与Serilog.AspNetCore 7.0.0兼容(该包要求.NET 6及以上版本)。
内容的提问来源于stack exchange,提问作者Engazzou Azer
相关产品推荐
相关产品推荐

