我刚刚掌握了 NHibernate 的基础知识,在重构我的数据访问和域层时,我想我可能会变得可爱并开始对数据访问层使用依赖注入(inject)。单元测试我们来了!
我想既然 NHibernate 使用了大量的 CaSTLe dll,我不妨将 CaSTLe Windsor 用于 DI 容器。就在我启动应用程序以查看是否一切正常时,我遇到了一个 dll 引用问题。
由于我使用的是 NHibernate 2.1.2.4000 ,我已经引用了 CaSTLe.Core 1.1.0.0 。但是,我使用的 CaSTLe Windsor dll 版本( 2.1.0.0 )告诉它想要 CaSTLe.Core 1.2.0.0 。
我对这个疯狂的开源类库 malarkey 有点陌生。一般来说,我如何提前找出某些东西的 dll 依赖项,以及如何找到使用 CaSTLe.Core 1.1.0.0 的 CaSTLe.Windsor 版本,这是我已经拥有的版本?
或者,我如何确定 NHibernate 是否可以与 CaSTLe.Core 1.2.0.0 一起使用,或者它是否会中断?
谢谢你的帮助。
大卫
最佳答案
短期解决方案是使用程序集绑定(bind)重定向。
更好的选择是使用您想要的 CaSTLe 版本从源代码编译 NHibernate。
关于.net - .NET 中修复 dll 版本问题的技巧,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3281372/