当前位置: 移动技术网 > IT编程>开发语言>.net > Abp.Castle.Log4Net : Method 'get_IsTraceEnabled' does not have an implementation

Abp.Castle.Log4Net : Method 'get_IsTraceEnabled' does not have an implementation

2019年04月26日  | 移动技术网IT编程  | 我要评论

李羱,钟爱 夜蔓,平度天气

异常内容

system.typeloadexception
  hresult=0x80131522
  message=method 'get_istraceenabled' in type 'abp.castle.logging.log4net.log4netlogger' 
  from assembly 'abp.castle.log4net, version=4.5.0.0, culture=neutral, publickeytoken=null' 
  does not have an implementation.
  source=abp.castle.log4net
  stacktrace:
   at abp.castle.logging.log4net.log4netloggerfactory.create(string name)
   at castle.facilities.logging.loggingfacility.registerdefaultilogger(iloggerfactory factory)
   at castle.facilities.logging.loggingfacility.init()
   at castle.microkernel.defaultkernel.addfacility(string key, ifacility facility)
   at castle.windsor.windsorcontainer.addfacility[t](action`1 oncreate)

解决思路

因为github上有abp的源码:,准备看源码,这个方法不建议推荐,比较花时间,很可能费力不讨好。但是搞清楚之后肯定有助于加深对abp的理解。为了最快解决问题,从想想bug怎么出现倒推解决办法。我是因为更新了解决方案的nuget包。这就好说了。解决办法:试着降级nuget包。

我是将 abp.castle.log4net 从4.3升级到了4.5 。一步到位,降级到4.3 ,信心满满的debug,异常依旧。我想或许会有人提issue,没有我就自己提issue。搜索issue:https://github.com/aspnetboilerplate/aspnetboilerplate/search?q=get_istraceenabled&type=issues ,搜索结果显示已经有人提了 issue。 issue 4445:: system.typeloadexception: method 'get_istraceenabled'
该issue的解决方案是同时降级 abp.castle.log4net 和 castle.core
在这里插入图片描述
既然单单降级abp.castle.log4net不行,私以为问题在castle.core。尝试将abp.castle.log4net包依然升级到4.5,只降级castle.core到4.3.1 。速度debug,bug解决。看来问题是因为abp.castle.log4net对应的应该是castle.core 4.3.1。想要搞明白真正的问题得去看castle的源码了。

一句话总结解决方案:将castle.core降级到4.3.1

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网