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 - 包漏洞通知
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
PackageSourceMappingAPI 不遵循返回列表的最佳做法 - #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
-
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 中的一些分配。