NuGet 分发车辆:
| NuGet 版本 | 在 Visual Studio 版本中可用 | 在 .NET SDK 中可用 |
|---|---|---|
| 6.10.2 | Visual Studio 2022 版本 17.10 | 8.0.3xx1 |
1 随任何 .NET 工作负载一起安装 Visual Studio 2022
摘要:6.10.2 中的新增功能
此版本中已修复的问题
- 在 Directory.Packages.props 存在时隐式还原启用中央包管理 - #11834
1 随任何 .NET 工作负载一起安装 Visual Studio 2022
摘要:6.10.1 中的新增功能
此版本中已修复的问题
当解决方案中的多个 packages.config 项目共享同名(已添加具有相同键的项)时,Visual Studio 和 PMC 还原/更新失败 - #13465
##[error]nuget 命令失败,出现退出代码(1)和错误(已添加具有相同键的项)。 - #13456
摘要:6.10 中的新增功能
[功能]: 添加 dotnet nuget config 命令 - #12469
在 packages.config 还原期间检测到漏洞时发出警告 - #12307
在基于 packages.config 的项目中存在漏洞时,显示漏洞信息栏。 - #13271
[Bug]: VS 凭据提供程序错误地设置值
isRetry- #11210dotnet list package --vulnerable 需要持续登录到第三方 nuget 源 - #12456
6.10.0 已知问题
NuGet.exe 6.10.0 和 Visual Studio 17.10.0 在进行 NuGet 操作时,使用 packages.config 的项目在以下情况下可能会遇到故障:
- 解决方案中的两个或多个项目具有相同的名称
- 解决方案中的两个或多个项目使用相同的 packages.config 文件(同一目录中存在项目文件)
NuGet.exe 6.10.1 和 Visual Studio 17.10.2 中修复了这些问题。
可在以下位置找到公共跟踪问题和讨论:
- 将 Visual Studio 社区更新到 17.10.0 后,无法进行 nuget 还原。 已添加了具有相同键的项。
- 当解决方案中的多个 packages.config 项目共享同名时,Visual Studio 和 PMC 还原/更新失败(已添加具有相同密钥的项)
- ##[error]nuget 命令失败,出现退出代码(1)和错误(已添加具有相同键的项)。
重大变化
将可空性注解添加到 NuGet.Configuration - #13250
[Dotnet 包搜索]执行命令“dotnet package search <Package Name> --exact-match --format json” - #13158 时,包的搜索结果应为“version”而不是“latestVersion”
ResolvedDependencyKey 应是结构体以减少内存分配 - #13138
[DCR]:中央包管理 - 尊重 .props 文件作为选择加入功能的方法。 - #11834
删除 NuGet.Packaging.Core - #12495
此版本中已修复的问题
在 CLI 方案中 packages.config 还原期间检测到漏洞时发出警告。 - #13253
停止在资产文件读取中使用 JObject 以减少分配。 #12715
添加事件跟踪以还原,以便测量性能 - #13274
从 nuget.config 文件读取 auditSources - #13211
SourceRepository.GetResourceAsync 应可取消。 - #13234
CreateWalkAsync 不应递归 - #13222
ProjectModel.HashObjectWriter.OnFlush 使用的是 SHA512 哈希,而不是资源消耗更低的哈希,似乎有些过度 - #13214
在 JSON 中,所有者包的元数据是数组;在协议类型中,它是字符串 - #13186
dotnet package search --verbosity 详细输出表过宽 - #13162
SetWarningProperties() 中的调用由于多个枚举而产生分配开销 - #13151
在对象池实现中使用 ConcurrentStack 可创建大量分配 - #13147
IsBestVersion 将 HashSet<T> 枚举器装箱,导致在还原期间产生大量的分配开销。 - #13146
弃用 NuGet.exe 列表,以支持 NuGet.exe 搜索 - #7912
[Dotnet 包搜索] 使用 “--verbosity detailed”和 “--format json”进行搜索时,会出现未处理的异常 - #13300
dotnet package search晚上在 .NET 9 预览版 2 上崩溃 - #13286使用 StringBuilderPool,而不是分配新的 StringBuilder - #13285
传递适当的大小给列表<T> - #13284
JsonTextWriter 分配大量字符串 - #13283
StringBuilder.Append() 在追加 int 时分配的用法 - #13282
结构枚举器的无必要装箱 - #13281
应该释放进程对象,以避免终结器运行 - #13280
避免对集合使用装箱枚举器 - #13279
[.NET 9 预览版 3] 无效果还原已经不再无效果 - #13269
减少调用 IVsProjectAdapter.IsCapabilityMatchAsync 时的内存分配 - #13268
通过最大程度地减少差异来整合 packages.config 还原实现 - #13233
解除 LINQ 用法以减少 AddMSBuildAssets 中的某些内存分配 - #13223
PackageSpecWriter 在 ICollection<T>/IList<T> 实例上调用 Any,而不是调用 .Count - #13213
StringBuilder.Append(int) 导致不必要的分配 - #13207
缓存任务结果可能导致所有后续操作在同一线程上发生 - #13206
LibraryDependency 创建主要为空的集合 - #13184
PackageSpecWriter 应为版本写出原始字符串,而不是分配新字符串 - #13183
SetCentralDependencies 调用 OrderBy 时未指定比较方式,默认使用区分文化的比较 - #13182
来自 dotnet 包搜索的 json 格式的搜索结果不应包含未提供任何值的字段 - #13166
当执行命令“dotnet package search <Package Name> --format json” - #13165时,包的搜索结果应为“totalDownloads”而不是“total downloads”
[dotnet 包搜索] 加载 serivce 索引失败应为错误,而不是警告。 - #13163
dotnet 包搜索命令的输出格式除 json 文件外还显示帮助信息 - #13161
取消基于图形的静态还原不会结束还原过程 - #13140
使用字符串.Contains 而不是 IEnumerable.Contains 在 VersionRange 解析中 - #13124
静态图形还原不会仅还原 packages.config 解决方案 - #13109
NuGet 还原在需要记录错误消息时总是触碰 project.assets.json 文件,即使没有内容发生改变。 - #13098
还原时审计不得引发异常和导致操作失败 - #13085
还原时出现“存在相同键的项已被添加”的错误。 - #13067
PM UI 滚动不再加载其他包。 - #13063
NuGet 还原缓存检查不再使用文件存在缓存 - #13058
从 ASP.Net 项目添加对 esproj 的引用会导致 NU1105 错误 - #12986
RemoteDependencyWalker 由于递归调用这一事实而分配了大量资源 - #12748
[Bug]: 配置无效/无法访问源时取消 msbuild 还原速度缓慢 - #11813
还原:ProjectSpec 的过度深度克隆 - #9041
社区贡献
感谢所有帮助使此 NuGet 发布令人敬畏的参与者!
-
Erarndt
- 5659 枚举列表时减少装箱
- 5662 在更多场景中使用 StringBuilder.AppendInt,以减少将整数追加到 StringBuilder 的过程中产生的分配
- 5663 从 TextWriter.NewLine 实现中删除内存分配
- 5665 使用共用 StringBuilder
- 5661 避免 PackageSpecificWarningProperties.AddRangeOfCodes 和 TransitiveNoWarnUtils.AddToSeen 中的枚举器装箱
- 5660 确保在启动身份验证插件时释放进程对象
- 5664 在 TopologicalSortUtility.CalculateRelationships 中指定列表大小
- 5624 将 CreateNodeAsync 切换到迭代方法
- 5584 展开 LINQ 用法以减少 AddMSBuildAssets 中的某些分配
- 5574 展开多个 LINQ 调用
- 5593 进一步减少 CreateGraphNodeAsync 中的分配
- 5592 在写入 Json 对象时避免多个枚举
- 5600 避免由于 StringBuilder Append 导致的中间字符串分配(包括 i...)
- 5555 在 GetFlags 中解除 LINQ 方法的使用
- 5588 避免在 IsBestVerion 中装箱 HashSet 枚举器
- 5589 更新池实现以使用具有锁的堆栈以避免...
- 5568 将 ResolvedDependencyKey 更改为结构
- 5553 避免 GetCompatibilityData 中的某些分配
- 5554 将 Dictionary 键从 Tuple 切换为 ValueTuple
- 5552 避免为调用 WithExtension 创建捕获类
- 5556 从 ConcurrentDictionary 切换到带有锁的 Dictionary,以避免重复...
- 5551 使用 string.Contains 而不是 IEnumerable.Contains
- 5550 避免将 List<T> 枚举器装箱
- GenelleM
- 尼古拉·米尔索夫列维奇
-
brianrob
- 5650 添加还原工具