3 回答
TA贡献1848条经验 获得超2个赞
您遇到的问题是您的GetInstance
方法接受HttpMessageHandler
作为参数,并且在您的测试中您正在传递HttpClientHandler
对象。因此,您声明了一个参数,但在调用该方法时提供了不同的对象。
TA贡献1858条经验 获得超8个赞
因此,事实证明,正如 DongDong 所建议的,问题确实出在 .NET Framework 和 .NET Standard 之间的接口上。问题并不是它们不兼容,或者 Test 项目需要一些额外的依赖项,而是它们随 System.Net.Http 的不同版本一起提供。
由于没有显示任何可见的错误,诊断受到阻碍。但是,更改参数类型表明,确实,问题仅在于来自该命名空间的类。
诊断问题的另一个问题是该项目在某些机器上运行良好(我的家用 PC 和 Daisy Shipton 从评论到问题)。
然而,在确定问题的根源后,我首先能够通过 google 搜索该库存在哪些问题,并最终在.NET github上发现了大量不兼容问题。
我尝试了在这些情况下使用的解决方案,并向库的具体版本添加了“绑定重定向”,之后它工作正常。我添加了app.config我的测试项目的重定向。作为参考,它看起来像这样:
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
我仍然不明白为什么该项目在某些机器上运行良好。
- 3 回答
- 0 关注
- 193 浏览
添加回答
举报