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

.NET7升级至.NET8后ASP.NET项目无法安装NuGet包的解决方法

解决.NET 8升级后NuGet包兼容性问题

问题分析

提示的Humanizer.Core.XX 2.14.1不兼容.NET8,且这个包并非你直接引用,属于间接依赖包——由已安装的某个NuGet包引入。旧版本的Humanizer.Core 2.14.1未适配.NET8,导致NuGet包管理报错、无法安装新包,但不影响项目构建(构建时可能忽略了兼容性警告,或存在 fallback 机制)。

解决步骤

1. 定位引入旧版Humanizer.Core的依赖包

  • 在Rider中右键项目 → Manage NuGet Packages → 切换到Dependencies标签,展开所有包,查找包含Humanizer.Core的依赖链。
  • 或在项目根目录执行命令:
    dotnet list package --include-transitive
    
    搜索输出结果中的Humanizer.Core,找到它的父依赖包(即哪个包引用了它)。

2. 升级父依赖包到兼容.NET8的版本

找到引入旧版Humanizer.Core的包后,将其升级到支持.NET8的最新稳定版。升级后,该包会自动依赖适配.NET8的Humanizer.Core版本,覆盖旧版。

3. 直接强制指定兼容的Humanizer.Core版本

如果无法升级父依赖包,可直接在.csproj的<ItemGroup>中添加对新版Humanizer.Core的引用,强制NuGet使用兼容版本:

<PackageReference Include="Humanizer.Core" Version="2.14.3" />

注:Humanizer.Core从2.14.3版本开始正式支持.NET8,可根据实际情况选择更高稳定版。

4. 彻底清理缓存并重新还原

  • 删除解决方案下所有bin和obj目录;
  • 清理NuGet本地缓存,执行命令:
    dotnet nuget locals all --clear
    
  • 在Rider中右键解决方案 → Restore NuGet Packages,或执行:
    dotnet restore
    

5. 清理Rider IDE缓存

如果以上步骤后仍有问题,清理Rider缓存:

  • 点击顶部菜单 File → Invalidate Caches...;
  • 勾选Clear file system cache and local history,点击Invalidate and Restart。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 02:35:12