System.Net.Http的两个版本

6

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

为什么它有两种存在方式? 为什么在发布.Net Framework 4.7时,最新可用版本(可能是4.3)没有被包含进去?


我曾经遇到过类似的问题,最终发现我的解决方案中有一个项目在引用我机器上 GAC 中的一个版本,而另一个项目则在引用 Nuget 中的一个包。一旦我通过 Nuget 为解决方案中的所有项目安装了相同的版本,版本问题就消失了。 - ProfNimrod
1个回答

4

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

包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 Version=4.0.0.0中的API,如果您想要额外的功能,可以通过安装新包来获取额外的API,就像处理其他包一样。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接