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

Posted

技术标签:

【中文标题】DNX / .NET Core 程序集版本控制:4.0.0 与 4.0.10【英文标题】:DNX / .NET Core assembly versioning: 4.0.0 vs 4.0.10 【发布时间】:2015-11-15 05:57:45 【问题描述】:

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

4.0.0 和 4.0.10 似乎同时维护:

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

【问题讨论】:

【参考方案1】:

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

4.0.0:net45+win8+wpa814.0.10:net46+uap10.0

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

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

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

【讨论】:

以上是关于DNX / .NET Core 程序集版本控制:4.0.0 与 4.0.10的主要内容,如果未能解决你的问题,请参考以下文章

AWS Lambda、.Net Core 和 MySql:无法加载文件或程序集 'System.Diagnostics.TraceSource,版本 = 4.0.0.0

找不到 DNX 运行时 dnx-clr-win-x86.1.0.0-beta-001598

.net Core

为啥强制降级会导致 .Net Core 中的程序集加载异常?

.Net Core T4 运行转换无法加载文件或程序集

如何在 .NET Core 控制台应用程序中加载位于文件夹中的程序集