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 版中的新增功能

  • NuGetAudit - 包漏洞通知

    • 在 PackageReference 还原期间检测到漏洞时发出警告 - #12289
    • 显示 PMUI 中 PackageReference 类型项目的可传递包中的漏洞 - #8756
    • 在解决方案资源管理器中显示项目或解决方案中检测到的任何安全漏洞的信息栏 - #12398
  • allowInsecureConnections在 NuGet.config中添加包源的属性,允许选择退出“随处可见的 HTTP”警告 - #12786

  • 通过 PM UI 在安装/更新期间创建包源映射 - #11366

  • Visual Studio #5420 中支持条件包更新

  • protocolVersion 参数 添加到 nuget 源添加 - #9170

  • 默认情况下,在 .NET 8 SDK - #11262 的 Linux 上启用签名包验证

已知问题

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

NuGet SDK 中断性变更

下面是 NuGet SDK 中重大更改的列表。 如果使用 NuGet 工具(如 Visual Studio 或 .NET SDK),则不会受到影响。

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

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

  • 将可为 null 注释添加到 NuGet.Common - #12775

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

此版本中已修复的问题

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

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

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

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

  • 默认情况下,NuGetAudit 应该检查直接的包引用 - #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 漏洞严重程度 - #12743

  • LoadSettings 未将 settingsLoadingContext 传递给 LoadSettingsForSpecificConfigs 导致的锁定争用线程池问题 - #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 boxing enumerator - #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 空注释 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 允许空的中间状态
  • drolevar
    • 5346 将 .vdproj 添加到排除列表
  • 灰鸟
    • 5335 从列表包输出中删除项目
  • 尼古拉·米尔索夫列维奇
    • 5322 修复 System.Security.Cryptograp 的包版本属性不正确...
  • vishavpandhi
    • 应使用基线检索 5283 [DartLab B2B 功能] 的基本 VS 的 dropname。
  • v-chayan
    • 5278 删除冗余 SourceBuildTrimNetFrameworkTargets 属性
  • marcin-krystianc
    • 5293 DetectAndMarkAmbiguousCentralTransitiveDependencies 应该是详尽且具有确定性
  • Erarndt
    • 5218 减少 CreateGraphNode 中的一些分配。