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

dotnet build报错NU1403:Libuv.1.9.1包sha512验证失败,找不到引用

解决NU1403: Libuv.1.9.1 SHA512验证失败(无直接引用的情况)

这种情况我碰到过好几次,看似找不到直接引用,其实都是藏在这些地方的间接依赖或者缓存问题,给你列几个排查方向:

  • 检查间接依赖:这是最常见的原因——你项目里的某个直接引用包,它的依赖链里包含了Libuv.1.9.1。用这个命令生成完整依赖树:

    dotnet list package --include-transitive
    

    输出里搜索Libuv就能找到是哪个包带进来的。如果用Visual Studio,展开项目的「依赖项」→「NuGet」,勾选「显示可传递的依赖项」,也能找到它的踪迹。

  • 清理NuGet本地缓存:验证失败大概率是本地缓存的包文件损坏了,不一定是引用的问题。执行这个命令清空所有NuGet缓存:

    dotnet nuget locals all --clear
    

    然后重新运行dotnet restore,让NuGet重新下载完整的包文件,很多时候能直接解决SHA验证失败的问题。

  • 检查解决方案全局配置文件:看看解决方案根目录下有没有Directory.Packages.props或者NuGet.Config文件,前者可能会全局指定某些包的版本,后者可能配置了私有源或者包版本锁定规则,说不定这里面隐式引用了Libuv。

  • 删除旧的资产文件:项目的obj目录里的project.assets.json和解决方案根目录的packages.lock.json(如果启用了包锁定)可能保留了过时的依赖记录。删除bin和obj目录,然后重新执行dotnet restore,让NuGet生成新的资产文件。

  • 排查SDK或全局工具依赖:早期的ASP.NET Core SDK(比如2.x版本)依赖Libuv作为Kestrel的底层IO库。检查你的项目用的SDK版本(看global.json或者项目文件里的<TargetFramework>),如果是旧SDK,可能是SDK本身的依赖导致的。另外,看看有没有全局安装的.NET工具依赖这个包,用命令查看:

    dotnet tool list --global
    

优先试试清理缓存和查看依赖树,这两个步骤解决了我遇到的大部分类似问题。如果还是不行,再逐一排查其他方向。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 05:26:41