【问题标题】:What changed in System.ValueTuple 4.4.0 -> 4.5.0?System.ValueTuple 4.4.0 -> 4.5.0 发生了什么变化?
【发布时间】:2019-02-09 12:17:09
【问题描述】:

我考虑将我的 System.ValueTuple 引用从 4.4.0 更新到(当前)4.5.0。

为了避免回归,我想了解这两个版本之间的变化。 nuget page 说:

发行说明

https://go.microsoft.com/fwlink/?LinkID=799421

链接到 .NET Core github 存储库。

“发布说明”链接是否已损坏,或者 .NET Core github 存储库实际上是否包含 System.ValueTuple 的更改日志?如果是后者,具体在哪里?我尝试了searching for System.ValueTuple in the repository,它产生了一些结果,但没有帮助我找到版本 4.4.0 和 4.5.0 之间的变化。

【问题讨论】:

  • 您可能应该询问运行时/SDK 之间的差异。 System.* 包充当 polyfill,如果匹配更好,则重定向到运行时的实现,并为早期的运行时提供实现。如果存在不匹配,它们也是一个相当大的痛苦,因为它们添加了许多临时依赖项和绑定重定向,这些重定向在新版本发布时并不总是被删除。看看 Nick Craver 去年的推文就知道了。如果您想使用 .NET Standard 2.0 库,您可能应该以 .NET 4.7.2 为目标,因此您根本不必使用这些包。
  • .NET 4.7 的 4.5.0 DLL 包含 [assembly: AssemblyInformationalVersion("4.6.26515.06 @BuiltBy: dlab-DDVSOWINAGE059 @Branch: release/2.1 @SrcCode: https://github.com/dotnet/corefx/tree/30ab651fcb4354552bd4891619a0bdd81e0ebdbf")] 属性(不是 core 存储库,而是 corefx),如果有帮助的话。
  • 去年我也遇到了同样的问题。每次我从框架版本转移到下一个版本时,例如 4.6.2 到 4.7.0 到 4.7.1,我都不得不与 很多 的剩余绑定重定向到 4.4 包作斗争。最后,唯一可靠的解决方案是删除所有这些包和重定向并重新添加它们。 Immo Lanwerth 最近承认,polyfill 没有按预期工作,无法将标准 2.0 兼容性添加到降级运行时。最后,如果您想要 Standard 2.0,则必须以 4.7.2 运行时或 .NET Core 2.0 为目标
  • Nothing changed。值得注意的是 .netcore 如何使语义版本控制完全无用。如果您下载 4.5.0 nuget 包,那么您实际上获得的是 4.0.3.0 版本。参考程序集上的 commit history 暗示版本控制已经严重失控。
  • @HansPassant 我认为如果您将其移至答案部分,您的评论会更有帮助。我猜你实际上是在回答这个问题,而且似乎是我们可能得到的唯一答案。

标签: c# .net c#-7.0 base-class-library valuetuple


【解决方案1】:

System.ValueTuple 的源代码可以在here找到。

根据Nuget-History,4.4.0 版本于 2017 年 8 月 9 日发布,4.5.0 版本于 2018 年 5 月 29 日发布。

因此,根据 git 历史记录,this 是在此时间范围内进行的唯一提交(修复文档拼写错误):

  public T1 Item1;

  /// <summary>
- /// The current <see cref="ValueTuple{T1, T2}"/> instance's first component.
+ /// The current <see cref="ValueTuple{T1, T2}"/> instance's second component.
  /// </summary>
  public T2 Item2;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-26
    • 2020-07-19
    • 2016-02-26
    • 2018-12-24
    • 2012-10-27
    相关资源
    最近更新 更多