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 N/A
5.9.3 N/A N/A

1 随 Visual Studio 2019 和 .NET Core 工作负载一起安装

注释

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 包应捕获版本号中点的错误省略 - #9215

  • [CPVM]禁用核心传递依赖关系的锁定 - #10132

  • net5 TFM:在缺少 TPV 时生成错误 - #9441

  • 记录还原日志(提取时)时记录日志包的内容哈希 - #10384

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

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

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

错误:

  • 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

  • 针对目标框架别名使用 packastool 时发出的警告 - NU5128 - #10097

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

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

  • 为 PM UI 的卸载操作创建并行执行的 NuGetProjectActions - #9956

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

  • dotnet nuget push *.nupkg 不上传多个文件 - #4393

  • 重定向时,在 macOS 上输出被限制为 80 个字符 - #10198

  • 还原失败 -Source <相对路径> - #9406

  • netcoreapp5.0-windows 无法来回传输,无法解析平台信息 - #10177

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

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

  • DotnetCLiToolReference 恢复导致推测 no-op 项目计数/uptodateprojectscount 变得困难 - #10038

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

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

  • 比较器静态属性应是幂等的 - #10339

  • 解决内部合约程序集加载(修复 RPS 或处理异常) - #9919

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

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

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

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

  • 在 VS 中无法显示还原错误的含错误数据的 SDK 项目 - #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

  • 反向通过 PMUI 的制表符应与向前方向一致 - #10234

  • 在实验实例中调试 PMUI 有时会从 SolutionView 引发 InvalidCastException 到 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 修复 - 用于可释放内存流 - #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 Contribution 指南中的 Windows SDK 10 链接中断 - #10099
bjorkstromm 3696 NuGet.Client 调试指南中的相对链接失效 - #10100
Nirmal4G 3637 改进测试装置和相关代码 - #9996
rolfbjarne 3743 重定向时,输出在 macOS 上换行至 80 个字符 - #10198
xen2 2861 使 NuGet.PackageManagement 可用作 .NET Standard 包 - #6150
Anpik 3810 引入新的 msbuild 属性,以在包任务期间排除特定 tfms 的生成输出 - #10396

摘要:5.9.1 中的新增功能

  • “dotnet nuget 删除源 nuget.org”首次不起作用 - #10745
  • 在 Linux 上禁用默认验证,但在 Windows 上默认启用 - #10713

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

此版本中的提交列表 - 5.9.1

已知问题

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

問题

pack使用.nuspec文件时,如果在不为针对multiple frameworks的项目添加任何reference groups引用的情况下指定显式程序集引用,则NuGet 5.9版本会引发null reference异常。

解决方法

使用 nuget.exe5.8.1 或最新版本以外的 5.9.1其他版本。

欢迎反馈

你的反馈对我们非常重要。 如果此版本存在任何问题,请检查 GitHub 问题和Visual Studio 开发人员社区 是否存在现有问题。 对于 NuGet 中的新问题,请报告 GitHub 问题。 对于常规 NuGet 体验问题,请通过“报告 问题 ”选项告知我们,该选项位于“ 帮助 > 报告问题”下的常用 IDE 中。