全部 android asp.net C/C++ cshap IOS Java javascript nodejs perl php python ruby web容器 其他 前端 数据库 第三方平台 混合式APP 网络 系统 默认分类

Nuget 异常引用记录

0 237

事件描述

Nuget未能将packages.config中的dll成功引入项目中,

解决办法

从Nuget中删除对NewtonSoft.Json的引用并重新对NewtonSoft.Json 4.5.0.0引用

具体原因

由于无法重现,没能够找到错误的原因

环境

Win7 Ultimate SP1 7601 Microsoft Visual Studio Enterprise 2015 版本 14.0.25431.01 Update 3

事件详细描述

V在业务系统Open.Console的引用了组件Autohome.BreakRules.MongoSDK,在调用组件方法的时候引发System.IOException,无发找到 NewtonSoft.Json 9.0.0。这个错误给我的第一印象是,业务系统和MongoSDK组件引用的NewtonSoft.Json版本冲突,导致组件MongoSDK所引用的NewtonSoft.Json被覆盖。感觉优点蛋疼,又要解决业务系统和组件引用dll版本不一致的问题了。 之后查了下业务系统的引用的NewtonSoft.Json的版本是4.5.0和组件MongoSDK引用的组件版本保持一致,打开dll输出目录,dll目录下的的NewtonSoft.Json的版本也是4.5.0。看来解决这个异常不回想想中的那么简单。仔细查阅了一下异常内容“无发找到 NewtonSoft.Json 9.0.0”这个9.0.0引起了我的注意,打开组件MongoSDK的代码,查了下Nuget的引用,引用的版本的确是4.5.0。我实在想不出还又什么其他原因了。用文本编辑器打开MongoSDK项目文件,尼玛引用的NewtonSoft.Json的版本竟然是9.0.0,好受伤,被Nuget欺骗了。再之后重新用Nuget引用NewtonSoft就OK了。

PS: 此片文仅为便于解决同样的问题

热忱回答0