NuGet 6.8 发行说明

NuGet 分发车辆:

NuGet 版本 适用于 Visual Studio 版本 适用于 .NET SDK
6.8 Visual Studio 2022 版本 17.8 8.0.1001
6.8.1 Visual Studio 2022 版本 17.8 8.0.1021

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

摘要:6.8.1 新增功能

  • [安全性]:Microsoft 安全公告 CVE-2024-0057 | NuGet 客户端绕过安全功能漏洞 - #12653

摘要:6.8 中的新变化

已知问题

  • NuGetAuditMode 不适用于 VS 17.8 中的 SDK 样式项目 - #13003

NuGet SDK 中断性变更

下表列出了 NuGet SDK 中的中断性变更。 如果使用 NuGet 工具(如 Visual Studio 或 .NET SDK)则不会受到影响。

  • 从 NuGet.PackageManagement 中删除 NuGetOperationType,改用 NuGetProjectActionType - #12866

  • 将 PackageVulnerabilityInfo 严重性从 int 更改为枚举 - #12781

  • 向 NuGet.Common 添加可为 null 的批注 - #12775

  • 不可变类型的已过时克隆方法 - #12669

此版本中已修复的问题

  • 没有可用的漏洞数据时,NuGetAudit 不应发出警告 - #12875

  • NuGetAudit:使用 System.Text.Json 读取漏洞文件 - #12855

  • PackageSourceMapping API 不遵循返回列表的最佳做法 - #12794

  • 签名:默认启用 X509Chain.Build(...) 重试行为 - #12592

  • 默认情况下,NuGetAudit 应检查直接 PackageReferences - #12590

  • NuGetAudit 默认使用 .NET 8 SDK - #12568

  • 删除 RestoreTask 发送的“正在检查兼容性...”的日志消息 - #10383

  • 16.10:删除包源 1.0 服务。 删除已过时的 API(在 16.8 中添加的 nuget.configuration) - #10015

  • 向 NuGetSdkResolver 添加更多日志记录 - #11445

  • 将 Newtonsoft.Json 引用升级到 13.0.3 - #12858

  • 在 packages.config 还原期间添加用于检查漏洞的 API - #12852

  • VS 选项添加/删除包源图标不使用 VS2022 样式 - #12840

  • 包源映射实用工具始终追加包 ID - #12839

  • NuGetSdkResolver 在项目加载期间多次加载 global.json - #12819

  • 使用 CPM 时,dotnet list 包不会列出请求的版本 - #12765

  • 修复合并期间运行时依赖项集的区分大小写 - #12757

  • dotnet 列表包与未设置为对象实例的对象之间的错误 - #12755

  • 改进哈希和相等性分配/性能 - #12746

  • NuGetAudit 严重性 bug - #12743

  • 因未将 settingsLoadingContext 传递给 LoadSettingsForSpecificConfigs 的 LoadSettings 导致的锁定内容线程池问题 - #12737

  • NuGetAuditMode 所有警告已升级的包版本(已拒绝) - #12730

  • 采用“packages.config”格式安装包时,出现错误“找不到 PackageName.1.0.0 的元数据” - #12723

  • WalkTreeRejectNodesOfRejectedNodes 不断触发其跟踪器集合重设大小 - #12719

  • 减少 RuntimeGraph 分配,因为它不可变 - #12717

  • NuGet.Commands.RestoreRunner.ExecuteAndCommitAsync|nuget.packaging.dll!NuGet.RuntimeModel.RuntimeDescription 中重度分配 - #12714

  • NuGet.Commands.RestoreRunner.ExecuteAndCommitAsync|nuget.versioning.dll!NuGet.Versioning.VersionFormatter.Format 中重度分配- #12707

  • 从 PackageSource.Source setter 中删除分配 - #12692

  • ContentItemCollection.FindBestItemGroup 装箱枚举器 - #12689

  • FrameworkNameProvider.GetVersionString 装箱枚举器 - #12685

  • NuGet.Client 分配许多比较器的实例 - #12680

  • GetContentFileFolderRelativeToFramework 分配过多 - #12668

  • 在包列表中单击包“Microsoft.Net.Http”时,弃用的信息会在右侧面板中闪烁不到一秒 - #12661

  • CreateGraphNode 具有大量分配 - #12641

  • 在搜索易受攻击包时,易受攻击标签不会显示在“浏览”选项卡的“版本”下拉框中 - #12623

  • NuGet.Commands.LockFileBuilder KeyNotFoundException 异常 - #12464

  • 没有版本的 PackageDownload 会导致 NullReferenceException - #12212

  • [Bug]:“查看许可证”对话框不显示许可证内容 - #12060

  • [Bug Bash]只有最新版本的嵌入许可证内容才能在 PM UI 中正确加载,前提是同一包中的多个版本来自本地源 - #10670

此版本中提交的列表

社区参与

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

  • drewnoakes
    • 5311 Null 批注 PackageDependencyInfo
    • 5310 减小 LockFileTargetLibrary 的大小
    • 5304 改进哈希和相等性分配/性能
    • 5267 减少 NuGet.DependencyResolver.Tracker 中的分配
    • 5232 减少 RuntimeGraph 中的分配
    • 5279 减少 VersionRangeFormatter 中的分配
    • 5248 减少 RuntimeDescription 和 RuntimeDependencySet 中的分配
    • 5269 请勿在 ContentItemCollection 中装箱枚举器
    • 5250 请勿在 FrameworkNameProvider.GetVersionString 中分配临时
    • 5271 从 PackageSource.Source setter 中删除分配
  • MichaelSimons
    • 5418 修复源生成 CI 回归
    • 5414 删除不必要的源生成修补程序
  • mthalman
    • 5385 将 Newtonsoft.Json 从 13.0.1 更新到 13.0.3
  • timheuer
    • 5375 更新 VS 选项向 VS2022 样式添加/删除包源图标
  • dotnokato
    • 5002 CLI:对 NuGet 源的 protocolVersion 选项添加更新命令
  • oleksandr-didyk
    • 5352 允许空 sb 中间
  • drolevar
    • 5346 将 .vdproj 添加到排除列表
  • Greybird
    • 5335 从列表包输出中删除项目
  • NikolaMilosavljevic
    • 5322 修复 System.Security.Cryptograp 的包版本属性不正确...
  • vishavpandhi
    • 5283 [DartLab B2B 功能] 应使用基线对基 VS 的 dropname 进行检索。
  • v-chayan
    • 5278 删除冗余的 SourceBuildTrimNetFrameworkTargets 属性
  • marcin-krystianc
    • 5293 DetectAndMarkAmbiguousCentralTransitiveDependencies 应详尽且具有确定性
  • Erarndt
    • 5218 减少 CreateGraphNode 中的一些分配。