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“浏览”选项卡中的 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
社区参与
感谢帮助实现此出色 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 中的新变化
已知问题
nuget 5.9 打包引发 Null Reference
异常。 - #10685
问题
当使用 .nuspec
文件来尝试 pack
时,如果指定显式程序集引用而不为面向 multiple frameworks
的项目添加任何 reference groups
,NuGet 5.9
版本则会引发 null reference
异常。
解决方法
使用 nuget.exe
5.8.1 或除 5.9.1
以外的最新版本。
欢迎反馈
反馈对我们非常重要。 如果此版本存在问题,请查看 GitHub 问题和 Visual Studio 开发者社区以了解现有问题。 对于 NuGet 中的新问题,请报告 GitHub 问题。 对于常规 NuGet 体验问题,请通过报告问题选项告知我们;该选项位于帮助 > 报告问题下的常用 IDE 中。