netcoreapp3.1 Worker Service项目使用Microsoft.Extensions.Http.Polly报错如何解决
问题根因
你当前项目的目标框架为 .NET Core 3.1,但安装的Microsoft.Extensions.Http.Polly v5.0.0 以及配套的Microsoft.Extensions系列依赖包仅支持.NET 5及更高版本,版本不兼容导致命名空间无法正常识别。
解决步骤
- 方案1(推荐长期使用):升级项目目标框架与NuGet版本匹配
修改项目文件中的目标框架配置:<PropertyGroup> <!-- 将原来的netcoreapp3.1替换为net5.0或更高的LTS版本如net6.0、net8.0 --> <TargetFramework>net6.0</TargetFramework> </PropertyGroup> - 方案2(保留.NET Core 3.1框架):降级所有Microsoft.Extensions开头的NuGet包版本至3.1.x最新稳定版
修改ItemGroup中的包引用配置:<ItemGroup> <PackageReference Include="Microsoft.Extensions.Hosting" Version="3.1.32" /> <PackageReference Include="Microsoft.Extensions.Http" Version="3.1.32" /> <PackageReference Include="Microsoft.Extensions.Http.Polly" Version="3.1.32" /> <PackageReference Include="Newtonsoft.Json" Version="13.0.1" /> </ItemGroup>
调整配置完成后执行以下操作清理缓存:
- 关闭当前打开的IDE
- 删除项目根目录下的
.vs、bin、obj文件夹 - 重新打开项目,执行NuGet包还原后重新编译即可解决命名空间找不到的问题。
内容的提问来源于stack exchange,提问作者Tom Boudniatski
相关产品推荐
相关产品推荐

