gpt4 book ai didi

.net - System.Net.Http 编译时类型不匹配

转载 作者:行者123 更新时间:2023-12-04 03:56:20 24 4
gpt4 key购买 nike

自从将 .Net Framework Web Api2 项目更新到 .Net Framework 4.7.1 并更新对现在 native System.Net.Http 的引用后库,我们现在在编译时(不是典型的运行时)得到以下错误。因此程序集绑定(bind)重定向无效。

The type 'HttpResponseMessage' exists in both 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' and 'System.Net.Http, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' SkinOnline.Web C:_dev\MapsOnline.Web\API\Controllers\Utilites\LongProcessController.cs



我不知道旧版本是从哪里来的——也许是项目依赖项之一。

编辑
所以从添加 dll 之后

C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.7.1



一旦在引用下,路径已更改为

C:\VS2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net471\lib\System.Net.Http.dll



那就是说版本是 4.2.0.0

最佳答案

所以实际上新的本地文件是 4.2.0.0 版本(不知道人们在这里做了什么,因为在合并之前的最新版本是 4.3.3)。

事实上,我们确实需要绑定(bind)重定向。

<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>

没有它我会得到奇怪的运行时错误

System.MissingMethodException Method not found: 'System.Net.Http.HttpRequestMessage System.Web.Http.ApiController.get_Request()'.

关于.net - System.Net.Http 编译时类型不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48205156/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com