DNX / .NET Core 程序集版本控制:4.0.0 与 4.0.10

DNX / .NET Core assembly versioning: 4.0.0 vs 4.0.10

我注意到一些基础程序集有 2 个版本。例如,System.Collections.Concurrent.

4.0.0和4.0.10好像是同时维护的:

这种碎片背后的原因是什么?
这些版本有何不同,我应该使用哪个?

一般来说,4.0.0*.10*.20 包之间的区别在于它们针对的框架。这是 System.Collections.Immutable 包的样子。

4.0.0:net45+win8+wpa81
4.0.10: net46+uap10.0

具体来说,这两个包的区别在于4.0.10版本实现了IReadOnlyCollectionIReadOnlyDictionary.

至于碎片化,.NET Framework 的一些内部机制导致他们使用此版本控制架构。不要太在意细节。

根据以上信息,使用最有意义的版本。如果您正在编写库,我会鼓励您使用尽可能低的版本,以便与更多技术兼容。如果您正在编写 .NET 4.6 或通用 Windows 应用程序,您不妨使用最新的。