我刚刚掌握了 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/

10-12 17:48