NuGet 7.6 发行说明

NuGet 分发车辆:

NuGet 版本 在 Visual Studio 版本中可用 在 .NET SDK 中可用
7.6.0 Visual Studio 2026 版本 18.6.0 10.0.3001

1 随任何.NET工作负荷一起安装Visual Studio 2026

摘要:7.6.0 中的新增功能

  • 将 TargetFramework(s) 值视为别名 - #5154

  • Pack 支持框架别名 - #14751

    • 当项目有多个可解析为同一框架的 TargetFramework 别名时, dotnet pack 现在会检测歧义并引发 NU5051,并显示一条可操作的错误消息,而不是生成意外的输出。
  • 基于文件的应用的包管理 API - #14390

    • NuGet 现在公开了 API,供 dotnet package addlistremoveupdate 用于引用在 C# 源文件中带有 #:package 指令的包的文件式应用。
  • 从环境变量读取推送 API 密钥 - #12539

    • dotnet nuget push 现在可以从环境变量中读取 API 密钥,避免需要在命令行上传递机密或将它们存储在配置文件中。

此版本中已修复的问题

  • nuget push 在 User-Agent 标头中发送 CI 平台信息 - #14740

    • nuget.exe push现在在 HTTP 用户代理标头中包含 CI 平台(Azure DevOps、GitHub Actions和其他平台),允许包源标识推送的来源。
  • dotnet add package --no-restore 使用中央包管理不再生成 NU1008 - #12552

    • 使用中央包管理时,dotnet add package --no-restore 现在会正确添加不带 Version 属性的 PackageReference,而不是产生还原错误。
  • 修复 程序包管理器 控制台中的 Add-Migration 错误 - #14862

    • 在 NuGet 程序包管理器 控制台中运行 Add-Migration不再引发“必须在 UI 线程上调用 GetProjectFromHierarchy”错误。
  • NuGetAuditSuppress with packages.config 现在支持多个抑制 - #14825

    • 以前,在 packages.config 项目中,只有第一个 NuGetAuditSuppress 条目会生效。 现在,所有抑制项都已正确生效。
  • 修复程序包管理器 UI 搜索框上的上下文菜单主题 - #14799

    • NuGet 程序包管理器 UI 中搜索控件上的右键单击上下文菜单现在遵循Visual Studio颜色主题。
  • 为进程外调用方修复 NuGetProjectServiceV1 - #14732

    • NuGetProjectServiceV1 中转服务现在使用正确的序列化设置,使其可从进程外Visual Studio扩展中使用。
  • 修复程序包管理器 UI 复制菜单上的上下文菜单主题 - #14704

    • 程序包管理器 UI 包详细信息选项卡中的右键单击复制上下文菜单现在遵循Visual Studio颜色主题。
  • dotnet list package --vulnerable 现在显示已弃用包的漏洞 - #14477

    • 以前,未针对易受攻击和弃用的包版本显示漏洞信息。 现在会显示这两种状态。
  • dotnet list package 正确处理有条件的 TargetFramework 值 - #14339

    • dotnet list package 在项目使用与真实目标框架标识符匹配的 TargetFramework 属性值(例如带有条件性 PackageReference 元素的 net9.0-windows)时,不再失败。
  • 改进了 NU1107 错误消息,其中包含中央包管理和可传递固定 - #12277

    • NU1107 版本冲突错误现在会在启用了传递固定功能的中央包管理时提供相关指导信息,而不是建议在该配置下并不适用的操作。
  • 修复锁定模式下跨框架引用的 NU1004 问题 - #12010

    • 当.NET项目引用.NET框架项目时,使用 --locked-mode 还原不再生成 false NU1004 错误。
  • 修复并行还原期间间歇性出现的“无法解析 SDK”错误 - #10935

    • 当包已安装在全局包文件夹中时,并行 dotnet 还原操作不再间歇性地因“无法解析 SDK”错误而失败。

此版本中的提交列表

社区贡献

感谢所有参与者,他们帮助使这次 NuGet 发布变得非常出色!

  • nareshjo
    • 7237 通过缓存 Regex 实例减少 LicenseExpressionTokenizer.HasValidCharacters 中的分配
    • 7174 解析依赖关系图项以减少分配大小
  • jjonescz
    • 7233 将 MSBuildAPIUtility 中的虚拟项目生成器参数设为必需
    • 7169 向 XPlat CLI 添加对基于文件的应用的支持
  • SimonCropp
    • 7224 对 TargetAlias 使用序号字符串比较
  • elantiguamsft
    • 7201 向 nuget 签名和 dotnet nuget 签名添加 --allow-untrusted-root 标志
  • slang25
    • 7148 修复 dotnet add package --no-restore 忽略中央包管理的问题