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

Visual Studio 2022中NuGet报无关NU1301错误如何解决?

解决Visual Studio 2022中无关包引发的NU1301错误

针对你遇到的NU1301错误(无关的System.Drawing.Common/4.7.2包报错,且错误提示的csproj引用不存在),可以按以下步骤逐一排查解决:

  • 清理NuGet缓存
    缓存损坏是这类错误的常见诱因:

    • 打开Visual Studio,依次点击「工具」→「NuGet包管理器」→「包管理器设置」
    • 在「NuGet包管理器」→「常规」页面,点击「清除所有NuGet缓存」
    • 或者用命令行彻底清理:打开终端运行 dotnet nuget locals all --clear
  • 删除本地残留的包文件
    关闭当前解决方案,找到目录下的packages文件夹,直接删除其中的System.Drawing.Common/4.7.2子文件夹;如果不确定,也可以删除整个packages文件夹,后续重新生成时NuGet会自动下载当前项目需要的包。

  • 清理项目的隐式引用与构建缓存
    错误提示的csproj行无对应引用,大概率是隐式配置或构建缓存导致:

    • 检查解决方案下的Directory.Build.props、Directory.Build.targets全局配置文件,以及项目目录下的.props/.targets文件,搜索System.Drawing.Common或Microsoft.Windows.SDK.NET.Ref,找到后删除相关引用节点
    • 删除项目目录下的obj和bin文件夹,然后重新生成解决方案
  • 检查并调整NuGet源配置
    源不稳定或配置错误可能导致包信息获取失败:

    • 打开NuGet包管理器设置→「包源」,确保只保留官方NuGet源(https://api.nuget.org/v3/index.json),其他非必要源暂时禁用
    • 也可以用命令行查看和管理源:dotnet nuget list source 查看所有源,dotnet nuget disable source [源名称] 禁用可疑源
  • 隔离独立解决方案的包目录
    若两个解决方案共享全局包目录可能互相影响,可给当前解决方案设置独立本地包目录:
    在解决方案根目录创建nuget.config文件,写入以下内容:

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <config>
        <add key="globalPackagesFolder" value=".\packages" />
      </config>
    </configuration>
    

    这样当前解决方案的包会存放在自身的packages文件夹,与其他解决方案彻底隔离。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 16:40:58