度量快速开发平台-专业、快速的软件定制快开平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 部件 流程 SQL
查看: 3229|回复: 4
打印 上一主题 下一主题

[分享] 关于.net程序集引用不匹配的问题

[复制链接]

182

主题

2120

帖子

4842

积分

论坛元老

Rank: 8Rank: 8

积分
4842
跳转到指定楼层
楼主
发表于 2020-4-10 18:10:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
启动asp.net mvc 程序,其中也用到了web api ,autofac等,为了版本兼容性问题,将mvc和 web api 的版本控制到5.2.0.0,Newtonsoft.Json 的版本是6.0.0.0,但结果还是报错了
未能加载文件或程序集“Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)
日志信息: 调用程序集: System.Net.Http.Formatting, Version=5.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35。
用.net reflector查看该dll确实是依赖Newtonsoft.Json, Version=4.5.0.0
通过找到该dll的路径发现是Microsoft.AspNet.WebApi.Client包的,于是
查看了Microsoft.AspNet.WebApi.Client 5.2.0的nuget详细信息,依赖项的版本是 Newtonsoft.Json (>= 4.5.11) ,按照信息是可以的,但是怎么还报错了?


结果找到如下解决方法:在webconfig的runtime->assemblyBing节点下添加
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" />
<bindingRedirect oldVersion="4.5.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
结果运行成功
ps:用此方法的前提是两个版本的dll的publicKeyToken要一致,查看publickeytoken可以打开SDK命令提示,输入命令:sn -T dll所在路径

网上也找了一下同时存在两个版本的解决方法,留作后续研究。
http://www.cnblogs.com/EugeneMay/p/4249709.html
http://stackoverflow.com/questions/2460542/using-different-versions-of-the-same-assembly-in-the-same-folder

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

182

主题

2120

帖子

4842

积分

论坛元老

Rank: 8Rank: 8

积分
4842
沙发
 楼主| 发表于 2020-4-10 18:11:16 | 只看该作者
回复

使用道具 举报

182

主题

2120

帖子

4842

积分

论坛元老

Rank: 8Rank: 8

积分
4842
板凳
 楼主| 发表于 2020-4-10 18:11:54 | 只看该作者
6666666666666666
回复 支持 反对

使用道具 举报

542

主题

5916

帖子

1万

积分

作者

Rank: 7Rank: 7Rank: 7

积分
13589
地板
发表于 2020-4-11 16:13:17 | 只看该作者
回复 支持 反对

使用道具 举报

182

主题

2120

帖子

4842

积分

论坛元老

Rank: 8Rank: 8

积分
4842
5#
 楼主| 发表于 2020-4-11 20:00:48 | 只看该作者
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|玉祥公司客服-玉祥集团客服  本站关键词:快速开发平台

GMT+8, 2024-5-9 21:19 , Processed in 0.195517 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表