最近在开发项目中安装了Newtonsoft.Json组件,遇到了必须给Newtonsoft.Json降版本的问题。

原因是项目是MVC项目,WebApi模块必须使用4.5.0.0的版本,而我们在安装其他组件时,不小心,同时也升级了Newtonsoft.Json,导致了系统可以编译通过,而在运行时,出现找不到4.5.0.0指定版本的Newtonsoft.Json的程序集。尝试使用Nuget中的命令:Uninstall-package  Newtonsoft.Json 卸载,结果有其他组件依赖给组件,不允许卸载。尝试N次,无果。

经过同事指点又换了一个思路重新尝试,通过修改packages.config中的:

修改前:<package id="Newtonsoft.Json" version="6.0.0" targetFramework="net45" />

修改后:<package id="Newtonsoft.Json" version="4.5.11" targetFramework="net45" />

然后,在程序包管理控制台下,执行:

Update-Package -ProjectName 'Ko.app.web'  -Reinstall
该语句作用:按照packages.config中给出的程序组件,重新下载安装一遍。注意:这次我们安装的Newtonsoft.Json就是:4.5.11版本了.

折腾了大半天,才终于解决了这个问题。

需要注意:MVC4中强制引用了Newtonsoft.Json 4.5.11,如果引用了超过该版本的Newtonsoft.Json.dll,则会出现寻找该版本dll的错误,切记只引用合适版本dll。

Package Manager Console Powershell Reference:http://docs.nuget.org/docs/reference/package-manager-console-powershell-reference

参考过的文献:http://codego.net/335086/

posted on 2014-08-13 15:07  踏歌&而行  阅读(13325)  评论(3编辑  收藏  举报