C# System.Net.Http的两个版本

C# System.Net.Http的两个版本,c#,.net,C#,.net,我很难理解System.Net.Http的双重存在性。它作为.Net Framework 4.7(版本4.0.0.0)的一部分存在,但在更新的版本(目前的版本4.3.2)中也作为单独的软件包提供 为什么它是双重的? 为什么最新的可用版本(可能是4.3)在发布时未包含在.Net Framework 4.7中?首先,包版本和程序集版本可以是不同的版本 包System.Net.Http,版本4.3.2:程序集版本为4.1.1.1 我找不到程序集版本为4.0.0.0的System.Net.Http的发布

我很难理解System.Net.Http的双重存在性。它作为.Net Framework 4.7(版本4.0.0.0)的一部分存在,但在更新的版本(目前的版本4.3.2)中也作为单独的软件包提供

为什么它是双重的?
为什么最新的可用版本(可能是4.3)在发布时未包含在.Net Framework 4.7中?

首先,包版本和程序集版本可以是不同的版本

包System.Net.Http,版本4.3.2:程序集版本为4.1.1.1

我找不到程序集版本为4.0.0.0的System.Net.Http的发布包,因此我认为它没有作为包分发,但至少有一个预发布包包含该程序集System.Net.Http,版本为4.0.0-beta-22416。从版本4.0.0-beta-22416到版本4.0.1-rc2-24027的所有预发布包似乎都有该程序集的.NET Framework版本,版本为4.0.0.0


.NET Framework 4.7支持System.NET.Http中存在的API,版本=4.0.0.0,如果您想要额外的功能,可以通过安装更新的软件包来获取额外的API,就像您处理任何其他软件包一样。

我遇到了类似的问题,最后注意到我的解决方案中的一个项目引用了我机器上GAC中的一个版本,另一个项目引用了Nuget中的一个软件包。一旦我通过Nuget为解决方案中的所有项目安装了相同的版本,版本控制问题就消失了。