.NET Framework 4.6.2似乎内置了System.Net.Http程序集/名称空间。还有一个我可以安装的同名Nuget软件包。
作为一般原则,Nuget软件包可以替换(例如更新)已安装框架中包含的程序集吗?
具体地说,我应该使用Nuget版本还是System.Net.Http的框架版本?
答案 0 :(得分:1)
通常,您可以使用NuGet中的一个替换框架库。如果您有特定的原因,建议您这样做。例如,如果您需要错误修复,新的API或利用性能改进。
具体来说,对于System.Net.Http,这取决于您的方案。如果您每分钟要进行1000次http呼叫,请使用NuGet中的最新呼叫。如果您每小时打2个电话,并且没有遇到任何问题,请坚持使用框架版本。在这两个数字之间,取决于。
答案 1 :(得分:0)
可能不会,请尽可能使用框架内置版本:
<Reference Include="System.Net.Http" />
如果您依赖的其他内容(例如,另一个NuGet软件包)需要NuGet版本,则会自动获取该版本,并且上面的引用将使用可用的版本。
在大多数情况下,我们不建议人们再使用单独的System.Net.Http NuGet包。
引入了System.Net.Http
NuGet软件包以提供对框架内置版本的快速跟踪/ OOB更新,尤其是性能改进。这些改进通常是在新的.NET Framework版本中进行的,而此处的想法是,开发人员可以使用NuGet包来获得新的好处,而无需重新定位到新的框架。
事实证明,由于各种原因,这是一项极其复杂的任务,特别是因为{。{1}}被.NET Framework本身的其他部分使用。集成到下游应用程序和实际生产工作负载中时,这会引起问题。展望未来,.NET团队已决定不再提供此类OOB软件包,尽管它们仍支持并更新现有的OOB软件包。
进一步阅读: