一件很奇怪的事关于Nuget包

两个项目 A,B 分别引用了Newtonsoft.Json.dll

A项目有引用B项目。

A B 项目引用Newtonsoft.Json.dll文件源路径是相同的。但是经常报版本不匹配。

之后经过细心查看A项目的Newtonsoft 虽然引用的时候是和B项目是同一路径,但是编译之后A引用路径会发生变化。版本也由9.0变成6.0.

经过测试几遍A 和B 引用路径确认一致,但是编译之后A引用路径会发生变化。

最后解决方案,找到A项目变化后路径的dll 删除,然后重新引用B项目的Newtonsoft.Json.

然后编译,果然A项目的路径不再发生变化。也不知道什么原因。

还有就是版本兼容问题在Webconfig配置以下节点

  <dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="9.0.0.0" />
      </dependentAssembly>

 

原文地址:https://www.cnblogs.com/chongyao/p/6272455.html