我正在使用引用log4net 1.2.10.0的NHibernate 2.1.2.400.在同一个项目中,我也使用简单的会计SDK,遗憾的是它仍然使用log4net 1.2.9.0.
所以我可以让NHibernate工作,如果我引用log4net 1.2.10.0但是simpleSDK不起作用.反之亦然......
我猜大多数问题都来自于log4net已经改变了它的汇编密钥.我尝试使用绑定重定向但没有成功:2个DLL没有相同的密钥.
我正在考虑重新编译NHibernate以使用log4net 1.2.9.0,但这似乎是错误的做法,我的感觉是Simply Accounting不会更新他们的SDK以便很快使用log4net 1.2.10.0.
处理这个问题的最佳方法是什么?是否有可能解决?
我有以下情况
项目A.
- Uses Castle Windsor v2.2
- Uses Project B via WindsorContainer
Run Code Online (Sandbox Code Playgroud)
项目B.
- Uses NHibernate
- Uses Castle Windsor v2.1
Run Code Online (Sandbox Code Playgroud)
在Project AI的bin文件夹中有dll Castle.DynamicProxy2.dll v2.2和NHibernate dll.现在问题是NHibernate依赖于Castle.DynamicProxy2.dll v2.1而不存在.我该如何解决这种情况.
我有两个对我的应用程序至关重要的库,这些库依赖于不同版本的log4net.dll.当我正在使用的第三方片段被调用时,尝试我的bin文件夹中的两个dll都会出现常见错误:
无法加载文件或程序集'log4net,Version = 1.2.10.0,Culture = neutral,PublicKeyToken = 1b44e1d426115821'或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配.(HRESULT异常:0x80131040)
有没有办法让应用程序可以引用这两个dll?第三方dll是Windsor的IOC容器和Paypal的API,这两者对这个应用程序至关重要.
怎么修?
我有2个第三方程序集,它们使用NewtonSoftJson.dll.捕获的是其中一个使用较旧的3.xx而另一个使用4.5.x. 所以在运行时,两个组件中至少有一个抱怨另一个.
我该如何解决这个问题?我可以设置服务,但代码和环境目前没有这样设置.在给定的时间内,它也可以安全地完成重构.