我有一个网站和dll项目。
在dll包中。配置我使用package:
id = " Newtonsoft & lt;包。Json " version = " 6.0.3 net451"targetFramework =/祝辞
在网站包中。config I use package:
id = " Microsoft.AspNet & lt;包。WebApi" version="5.1.2" targetFramework="net451"/>这个包有依赖"Newtonsoft"。Json with version>= 4.5.11"我还添加了一行:
id = " Newtonsoft & lt;包。Json" version="6.0.3" targetFramework="net451"/>
当我启动"Update-Package - install " nuget检查Microsoft.AspNet.WebApi依赖于Newtonsoft。如果是Json,那么nuget 会覆盖网站包。配置行
id = " Newtonsoft & lt;包。Json" version="4.5.11" targetFramework="net451"/>并复制Newtonsoft。Json 4.5.11到site的"bin"文件夹。
另外,bin文件夹有我的dll,依赖于newtonjson的新版本,它不起作用..
我尝试命令"Update-Package - install -IgnoreDependencies"。它帮助部分:现在我有6.0.3在网站/bin。但是有两个问题:项目上的所有开发人员应该只使用"更新-包-重新安装-忽略依赖"吗?他们不能从GUI启动nuget更新?项目没有启动,一些dll引用Newtonsoft。Json 4.5.0(我没有确切的错误消息,因为使用依赖注入)。
有人知道吗:
如何正常告诉nuget下载newtonsoft 6.0.3在gui中正常工作?包里有选项吗?对此进行配置?*如果我使用newtonsoft json 6.0.3,我应该使用bindingRedirect来修复webapi的汇编版本吗?
非常感谢!
好的,我找到问题的原因了
编辑完包后。配置dll项目和更新包重新安装命令的dll项目,nuget下载正确版本的Newtonsoft。dll项目的Json(6.0.3),但没有刷新项目引用中的路径。因此解决方案- 不编辑包。手动配置。只从包管理器控制台或gui启动nuget命令。
是的,bindingRedirect帮助解决了第二个问题