ABP Framework 4.4.3部署时IdentityServer4 4.1.1与net50不兼容求助
NU1202: Package IdentityServer4 4.1.1 is not compatible with net50 (.NETFramework,Version=v5.0). Package IdentityServer4 4.1.1 supports: netcoreapp3.1 (.NETCoreApp,Version=v3.1)
问题根因
ABP Framework 4.4.3 原生适配 .NET 5,默认依赖的 IdentityServer4 版本本身支持 .NET 5,出现该报错通常是 Nuget 包版本锁定、缓存异常或部署环境配置问题,导致拉取了仅支持 .NET Core 3.1 的 IdentityServer4 4.1.1 版本。
解决方案
1. 强制指定兼容的 IdentityServer4 版本
在解决方案根目录新建/编辑 Directory.Build.props 文件,添加以下配置强制锁定版本:
<Project> <ItemGroup> <PackageVersion Include="IdentityServer4" Version="4.1.2" /> </ItemGroup> </Project>
IdentityServer4 4.1.2 及以上版本已新增 .NET 5 支持,不会触发兼容性校验错误
2. 清理 Nuget 缓存
- 本地开发环境执行命令清理缓存:
dotnet nuget locals all --clear - 部署流水线的 Nuget Restore 步骤前添加缓存清理操作,避免旧版本包缓存干扰拉取逻辑
3. 校验部署环境配置
- 确认部署环境已安装 .NET 5 正式版 SDK,执行
dotnet --list-sdks可查看已安装的 SDK 版本,禁止使用预览版 SDK - 检查所有项目的
.csproj文件,确保TargetFramework节点统一配置为net5.0,不要混合多版本目标框架
4. 临时兼容方案
如果以上步骤执行后仍有报错,可在 Nuget Restore 命令后添加参数 --ignore-failed-sources,跳过异常源的干扰确保正确版本的包能正常拉取。
内容的提问来源于stack exchange,提问作者user3513192
相关产品推荐
相关产品推荐

