在我的项目中,我安装了以下软件包:
当程序运行时,它会抛出异常
System.IO.FileLoadException
Could not load file or assembly 'Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
at JWT.Serializers.JsonNetSerializer.Serialize(Object obj)
at JWT.JwtEncoder.Encode(IDictionary`2 extraHeaders, Object payload, Byte[] key)
...
为什么.Net尝试加载此版本的Newtonsoft.Json。 JWT要求v6.0.4或更高版本,我满意。在Newtonsoft.Json甚至拥有v10之前,这两个软件包都已安装并正常工作。运行时如何知道v10存在?
我通过将绑定重定向添加回v9解决了当前问题,但我想找到问题的根源。
我运行了update-package Newtonsoft.Json -reinstall
并查看了所有挂起的更改,看看是否有任何项目引用了v10但我找不到任何内容。
答案 0 :(得分:1)
通过右键单击检查。* csproj文件 - >卸载项目 - >右键单击 - >在visual studio中编辑。* csproj或使用任何文本编辑器打开它。
有时它会保存对旧版本软件包的引用