使用nuget的陷阱

今天测试quartz时,因为引用的顺序不对,或者说因为nuget自动添加待引用库所依赖的库的机制,导致的问题。

我引用的顺序是:

1、添加quartz的引用,如图

因为Quartz依赖于Common.Logging.dll所以nuget自动引用了Common.Logging.dll,但版本是2.1.2。

2、因为当前环境.net4.0所以不好引用common.logging.log4net,所以引用common.logging.log4net1211。

同样因为common.logging.log4net1211依赖log4net,所以nuget自动引用了log4net。

nuget的这种做法非常便捷,可以省去不少事情,但同时却也会导致一些问题的存在。

在上述情况下,编译时编译器会报 warning MSB3277 警告,google一番后无果,隐约觉得程序会有问题。果然不出所料,

程序报出异常ArgumentOutOfRangeException(以前是ConfigurationException,为啥?)。

导致这种异常出现的原因就是Common.Logging.dll版本不对导致。

调整添加引用的顺序为 Common.Logging => Common.Logging.Log4net1211 => Quartz,问题搞定。

I am always so jizhi.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值