【发布时间】:2011-10-12 20:47:16
【问题描述】:
我在集成我们公司构建的在后端使用 Solrnet 的库时遇到问题。我们还有许多其他库,其中一个使用 NHibernate 作为数据库。一切正常,图书馆取回数据。
当我们添加对这个使用 Solrnet 的新库的引用时,事情开始变得很糟糕。我们运行应用程序时发生的第一个错误。当应用程序使用 NHibernate 为库运行 StructureMap 注册表时,注册表会爆炸,因为 NHibernate 无法加载 Castle.Core 程序集(在添加引用之前没有导致任何问题)。如果我们随后确保 Castle.Core 存在,NHibernate 就会在尝试加载 Castle.Windsor 时崩溃,这也是它之前不需要的。
有什么想法吗?正如我所说,如果我们删除使用 Solrnet 的新库,使用 NHibernate 的库很好,但是一旦我们引用它,事情就会开始出错。使用 Solrnet 的库还使用 StructureMap、FWIW 配置 Solrnet。
编辑:这些是混合中各种程序集的版本。 结构图 - 2.6.1.0 流畅的 NHibernate - 1.0.0.0 NHibernate - 2.1.2.4000 Solrnet - 0.3.1.0 Castle.Core(与 NH 一起提供)- 1.1.0.0
更新:它开始看起来像 Solrnet 是试图加载 Castle.Windsor 的那个。我不确定为什么我们给了它一个 StructureMap 配置。它的存在就足以把事情搞砸。即使没有依赖于 Solrnet 的程序集,它的存在似乎与 NHibernate 配置相混淆。
【问题讨论】:
-
看起来版本不匹配。你在使用 NuGet 包吗?你用的是什么版本的 SolrNet、NHibernate、StructureMap?
-
NHibernate 在尝试加载 Castle.Windsor 时崩溃了? NHibernate 从未使用过 Castle.Windsor ...
-
如果您发布一个包含所有这些 DLL 的最小解决方案并重现该问题,我会看看。
标签: nhibernate structuremap solrnet