NuGet 5.9 发行说明

NuGet 分发车辆:

NuGet 版本 适用于 Visual Studio 版本 适用于 .NET SDK
5.9.0 Visual Studio 2019 版本 16.9 5.0.2001
5.9.1 Visual Studio 2019 版本 16.9 5.0.2021
5.9.2 Visual Studio 2019 版本 16.9.22 空值
5.9.3 空值 空值

1 随具有 .NET Core 工作负荷的 Visual Studio 2019 一起安装

注意

Visual Studio 16.9、MSBuild 16.9 和 .NET 5.0.200 及以上版本需要 NuGet.exe 5.9 或更高版本。

摘要:5.9.3 中的新变化

  • [安全性]:Microsoft 安全通报 CVE-2022-41032 | .NET 特权提升漏洞 - #12149

摘要:5.9.2 中的新变化

  • [安全性]:Microsoft 安全公告 CVE-2022-30184 | .NET 信息泄露漏洞 - #11883

摘要:5.9 中的新变化

  • 为包依赖关系添加“更新”上下文菜单项,而该菜单项会启动包管理器 UI 以及要更新的预选包 - #10378

    右键单击包“更新”体验

  • 在解决方案级包管理器 UI 的项目列表的“版本”列中,显示请求的版本(包括浮动版本或版本范围请求)- #9827

    解决方案级别包管理器 UI 中请求的版本

  • 包管理器 UI“浏览”选项卡中的 IntelliCode 包建议作为 A/B 测试来发布 - #10053

  • 扩展 .nupkg.metadata 文件以包含安装源 - #10354

  • 引入新的 msbuild 属性,以在打包任务期间排除特定 TFM 的生成输出 - #10396

此版本中已修复的问题

DCR(设计更改请求):

  • 安装最新包版本时出现的向下图标并不直观。 旧的绿色勾号很完美 - #9789

  • Nuget Debug 详细程度应显示包来自何处 - #3055

  • NuGet pack 应捕获版本号中错误省略的点号 - #9215

  • [CPVM] 禁用中央可传递依赖关系的固定 - #10132

  • net5 TFM:缺少 TPV 时出现错误 - #9441

  • 还原日志记录期间(提取期间)的日志包 contenthash - #10384

  • 为在解决方案打开时调用还原的旧 PR 项目实施预注册机制 - #9986

  • 在包管理器中选择多个源时,NuGet 包推荐器应正常工作 - #10433

  • 在正常详细程度进行还原时,记录从中还原包的源 - #10461

Bug:

  • INuGetPackageFileService - 提取已连接 Codespaces 和独立时的图像和嵌入式许可证 - #10151

  • VS OE:IProjectMetadataContextInfo 缺少格式化程序 - #10079

  • [CPVM-Perf] 减少写入 centralTransitiveDependencyGroups 的信息 - #10002

  • 由于项目未加载而引发的还原操作在遥测中被报告为 NoOp - #9985

  • 具有特定颜色托盘的图标会让 PM UI 导致 VS 崩溃 - #10037

  • [CPVM-Perf] 添加 CPVM 信息时,减少 PackageSpec 克隆 - #10003

  • PM UI - 异步图标加载 - #10009

  • 在 PM UI 中加载图标 URL 时出现 UI 延迟 - #8505

  • BitmapSource 和 WPF UI 线程中的线程关联 - #9161

  • 当带 targetframework 别名的 packastool 出现时,针对 NU5128 发出警告 - #10097

  • 在自定义生成中,Pack 目标中的 OutputPath 逻辑无法正常工作 - #9234

  • VS OE:在客户端上缓存 IServiceBroker 实例 - #10141

  • 使“创建 NuGetProjectActions 以便从 PM UI 卸载”成为并行操作 - #9956

  • 性能:减少针对旧项目和非 PR 项目的 GetPackageSpecsAsync 中的 UIDelays - #9953

  • dotnet nuget push *.nupkg 不推送多个文件 - #4393

  • 重定向时,输出在 macOS 上封装为 80 个字符 - #10198

  • 使用源<相对路径>时,还原失败 - #9406

  • netcoreapp5.0-windows 不会往返,也不会分析平台信息 - #10177

  • 自定义 CPS 项目需要 AssemblyReferences 项目功能才能还原。 - #8071

  • 许可证和图标文件存在检查应始终使用区分大小写的比较 - #9817

  • DotnetCLiToolReference 还原使得对无操作项目计数/uptodateprojectscount 进行推理变得困难 - #10038

  • 通过深色主题中的“选择 NuGet 包管理器格式”对话框导航时,很难看清包格式的虚线框 - #9729

  • CollectFrameworkReferences - 中排除可传递框架引用 #10314

  • 比较器静态属性应保持幂等 - #10339

  • 解决内部协定程序集加载(修复 RPS 或获取异常)- #9919

  • 将 GetService 替换为 NuGet.Clients 第 1 部分的 GetServiceAsync - #10362

  • CLI 安装不应安装未列出的包 - #7466

  • 静态 msbuild 图还原 - 有关 MSBuildStartupDirectory 的不必要的日志记录 - #10335

  • 标记为 PrivateAssets 的 ProjectReferences 的项目依赖关系不应包含在最新锁定文件检查中 - #8565

  • 带无效数据的 SDK 项目在 VS 中不显示还原错误 - #10406

  • 使用 LockedMode 从命令行还原混合了旧版项目和 netstandard2 项目的解决方案时,出现 NU1004 - #9623

  • 打包包含通过依赖关系包引入到当前项目的包中的内容(仅适用于基于 SDK 的项目)- #8867

  • 为 NuGet 的 VS 可扩展性 API 错误添加遥测 - #10062

  • 在静态图还原中添加 GenerateRestoreGraphFile 以提高可调试性。 - #10365

  • 无法打开 NuGet 包管理器 - #10336

  • NVDA/讲述人未读取“Apache-2.0”链接的“许可证”标签 - #10425

  • VS 中最新的状态栏消息质量不高 - #9402

  • packages.config package.lock.json 使用了不正确的目标框架 - #10257

  • Codespaces:修复 https://github.com/NuGet/NuGet.Client/pull/3786 - 中的遥测 #10439

  • 启用 "RestoreLockedMode" 后,生成解决方案时 NU1004 错误消失 - #8973

  • 反向按 Tab 键浏览 PMUI 应镜像正向 - #10234

  • 在实验实例中调试 PMUI 有时会引发 InvalidCastException(从 SolutionView 到 ProjectView)- #10416

  • 在“浏览”选项卡中单击已弃用的包后,默认版本为 null - #10380

  • Visual Studio 中的 NuGet 管理器在重新获得焦点时会重新加载 - #4176

  • 删除 IPackageSourceProvider2 和相关类型 - #10098

  • "NameOfPackage" 包与项目中的 "all" 框架不兼容 - #5127

  • CreateVersionsAsync 会执行不必要的 NuGetVersion 比较 - #10436

  • NuGet.Client 应将使用 ManagedImageMonikers 替换为使用 KnownMonikers - #9977

  • 已弃用的图标会与“浏览”选项卡中已弃用包的版本重叠 - #10452

  • 在 VS 和命令行(还原 包管理器 UI)中,PackageReference NU1604 错误处理有所不同 - #9289

  • Codespaces:未注册必要的格式化程序 - #10467

  • 从 NuGet.Frameworks 中删除 net45(作为目标框架)- #10470

  • 实现 - 添加新的遥测数据来跟踪与 PMC 和 Powershell 使用情况相关的事件。 - #10142

  • 当有多个包可用于在包管理器 UI 中更新时,“预览更改”窗口中仅显示一个包 - #10483

  • 打包多目标项目时,应生成空的 frameworkReferences 组 - #10218

  • 在“更新”选项卡中难以看清包的复选框;在蓝色/蓝色(超高对比度)/浅色主题中导航时,该复选框会以虚线框突出显示 - #8963

  • “更新”选项卡的复选框不适用于屏幕阅读器 - #10449

  • 在 PMUI 中进行更新会导致对象引用未被设为对象的实例 - #9882

  • 实现 - 添加新的遥测数据来跟踪与 PMC 和 Powershell 使用情况跟进相关的事件。 - #10478

  • V2FeedPackageInfo 中的复制粘贴错误 - #10480

  • NuGetPackageFileService 修复 - 将 using 用于一次性 memorystream - #10503

版本 5.9.0 中所有已修复问题的列表

版本 5.9.0 中提交的列表

社区参与

感谢帮助实现此出色 NuGet 版本的所有参与者!

PR 问题
omajid 3865 V2FeedPackageInfo 中的复制粘贴错误 - #10480
marcin-krystianc 3812 缺少针对使用 PrivateAssets="All" 属性来引用包的情况的测试 - #10397
marcin-krystianc 3739 为推送多个包添加支持 - #4393
marcin-krystianc 3723 禁用程序集签名时,NuGet 库的生成中断 - #10173
kant2002 3807 清理参与文档 - #10399
PathogenDavid 3754 许可证和图标文件存在检查应始终使用区分大小写的比较 - #9817
campersau 3677 使用 BitmapCreateOptions.IgnoreColorProfile 来解决使用 DecodePixelWidth 时出现的 WPF 问题 - #10037
bjorkstromm 3697 NuGet.Client 贡献指南中的 Windows SDK 10 链接中断 - #10099
bjorkstromm 3696 NuGet.Client 调试指南中的相对链接中断 - #10100
Nirmal4G 3637 改进测试装置和相关代码 - #9996
rolfbjarne 3743 重定向时,输出在 macOS 上封装为 80 个字符 - #10198
xen2 2861 使 NuGet.PackageManagement 可用作 .NET Standard 包 - #6150
Anipik 3810 引入新的 msbuild 属性,以在打包任务期间排除特定 TFM 的生成输出 - #10396

摘要:5.9.1 中的新变化

  • "dotnet nuget remove source nuget.org" 第一次无效 - #10745
  • 在 Linux 上禁用默认验证,但在 Windows 上会默认启用 - #10713

版本 5.9.1 中所有已修复问题的列表

版本 5.9.1 中提交的列表

已知问题

nuget 5.9 打包引发 Null Reference 异常。 - #10685

问题

当使用 .nuspec 文件来尝试 pack 时,如果指定显式程序集引用而不为面向 multiple frameworks 的项目添加任何 reference groupsNuGet 5.9 版本则会引发 null reference 异常。

解决方法

使用 nuget.exe 5.8.1 或除 5.9.1 以外的最新版本。

欢迎反馈

反馈对我们非常重要。 如果此版本存在问题,请查看 GitHub 问题Visual Studio 开发者社区以了解现有问题。 对于 NuGet 中的新问题,请报告 GitHub 问题。 对于常规 NuGet 体验问题,请通过报告问题选项告知我们;该选项位于帮助 > 报告问题下的常用 IDE 中。