无法找到persister new dll

时间:2013-01-28 15:50:07

标签: nhibernate c#-4.0 quartz-scheduler

(C#,asp.net 4.0,NHibernate 2.2)。我们有两个使用NHibernate的应用程序; Web应用程序和预定作业应用程序(恰好使用Quartz作为平台)。

Web应用程序使用两个不同的dll,X和Y通过NHibernate访问不同的数据库;调度程序当前使用X.我正在尝试在调度程序中获得一个新工作也使用dll Y.

我在NHibernateSession.Load上不断收到“无法找到持久性”异常。没有InnerException。

当我查看会话时,它与Y的数据库连接正确。此外,会话的名称是我对设置sessionFactory的期望。我觉得好像我的配置主要在那里,但我错过了一个关键部分。

似乎我们可以消除映射文件不是嵌入式资源等问题,因为webapp使用dll Y就好了。当然,我确实验证了这一点。但是,由于DLL是通过其他地方的NHibernate引用的,所以似乎它必须是调度程序使用该DLL的东西,而不是DLL本身。

我还验证了我在调度程序中的新工作可以访问DLL X中的内容。因此,并不是说nhibernate已经变得完全拙劣。

这是我到目前为止所做的。

  • 在调度程序项目中添加了对dll Y的引用。确保它的设置类似于dll X(copy local = true等)
  • 将新的Y.nhibernate.config复制到调度程序的目录
  • 更新了quartz.server.exe.config文件,以便为新的Y.nhibernate.config提供sessionFactory
  • 还将sessionFactory添加到app.config文件中(虽然似乎没有引用,我试图找到我们使用X的每个地方并添加使用Y)。

我找不到任何其他地方出现在调度程序中配置/初始化dll X的引用,但显然我在尝试添加dll Y时遗漏了一些东西。

0 个答案:

没有答案