.NET Standard:程序集的清单定义与程序集引用不匹配
Posted
技术标签:
【中文标题】.NET Standard:程序集的清单定义与程序集引用不匹配【英文标题】:.NET Standard: assembly's manifest definition does not match assembly reference 【发布时间】:2018-10-13 06:14:17 【问题描述】:只要我更新任何使用 .NET Standard
(并且以前没有使用过)的库,我就会得到以下信息:
Could not load file or assembly 'System.Net.Http' or one of its dependencies.
The located assembly's manifest definition does not match the assembly reference.
使用 package.config
<package id="System.Net.Http" version="4.3.3" targetFramework="net461" />
Web.config
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" />
</dependentAssembly>
在 Web.config 绑定中尝试使用 4.3.3.0,但同样的错误。 使用 VS 2017 最新版本。
更新
我们发现将Microsoft.Extensions.Logging.Abstractions
从 v1 升级到 v2。从 1.1.2 升级到 2.0.2 就出现上面的错误。
【问题讨论】:
您的目标是什么版本的 .NET Framework? 与 packages.config - 4.6.1 中指定的相同 绑定重定向是否在运行时部分和程序集绑定部分内?确保网络配置正确设置。 是的,就在所有其他绑定的中间...:/ 你有这方面的复制品,我可以看看吗? 【参考方案1】:我的目标是 4.6.2,我通过 Nuget 安装了 System.Net.Http 版本 4.3.3,我得到了同样的错误。
当我将绑定重定向更改为使用时:
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.1.2" newVersion="4.1.1.2"/>
</dependentAssembly>
错误消失了,我可以再次构建和测试而不会出现问题。
【讨论】:
以上是关于.NET Standard:程序集的清单定义与程序集引用不匹配的主要内容,如果未能解决你的问题,请参考以下文章
.netcore 1.1“程序集的清单定义与程序集引用不匹配”
HRESULT:0x80131040:找到的程序集的清单定义与程序集引用不匹配