Fluent nhibernate FluentNHibernate在Windows服务中爆炸,但在网站中爆炸

Fluent nhibernate FluentNHibernate在Windows服务中爆炸,但在网站中爆炸,fluent-nhibernate,windows-services,nhibernate-mapping,Fluent Nhibernate,Windows Services,Nhibernate Mapping,我有一个类库做我所有的NHibernate的东西。它还使用Fluent NHibernate处理所有映射-无需部署映射文件 此类库被许多应用程序使用,包括在我的计算机上运行的Windows服务。尽管它在我的所有web应用程序中都可以正常工作,但Windows服务在尝试使用NHibernate时会得到以下结果: 创建SessionFactory时使用了无效或不完整的配置。有关详细信息,请检查潜在原因集合和InnerException。 在FluentNHibernate.Cfg.FluentCon

我有一个类库做我所有的NHibernate的东西。它还使用Fluent NHibernate处理所有映射-无需部署映射文件

此类库被许多应用程序使用,包括在我的计算机上运行的Windows服务。尽管它在我的所有web应用程序中都可以正常工作,但Windows服务在尝试使用NHibernate时会得到以下结果:

创建SessionFactory时使用了无效或不完整的配置。有关详细信息,请检查潜在原因集合和InnerException。 在FluentNHibernate.Cfg.FluentConfiguration.BuildSessionFactory()中 在C:\Kctc\Trunk\Kctc.NHibernate\KctcSessionFactory.cs中的Kctc.NHibernate.KctcSessionFactory.get_SessionFactory()中:第28行 …更多堆栈跟踪…

我已经检查了InnerException,但似乎没有。我不知道收集的潜在原因是什么,谷歌似乎也不愿意

这是我的开发机器,所以当我使用我的web应用程序时,它们在本地运行(即使用Visual Studio中的web服务器)。Windows服务和my dev web应用程序在同一台计算机上运行的事实表明,这与信任设置或您所拥有的一切无关


有人能建议我应该试试什么吗?这是其中一个让我如此困惑的问题,我甚至想不起如何获得更多关于这个问题的信息。

只是一个猜测。NHibernate从执行目录中提取
hibernate.cfg.xml
文件。您是否配置了服务的执行目录,以便它可以找到此文件?

我打赌app.config中缺少连接字符串的名称。对我来说,该消息几乎完全是丢失的连接字符串

您是针对同一个数据库,还是数据库之间存在某种模式不匹配

这可能是服务上的身份验证问题,比如在无法使用的情况下使用windows身份验证(或者sql身份验证不起作用)

很难说什么时候没有代码,只有一个例外


编辑您是否使用过HttpContext、HostingEnvironment或其他特定于“web”的工具?

我发现了问题所在。服务未使用所需的NHibernate.ByteCode.LinFu.dll部署

在生成期间,Visual Studio编译器不总是将间接依赖项(即应用程序所需的类库所需的DLL)复制到输出文件夹中,这似乎是一个持续存在的问题。我真的应该早点想到这个


谢谢你们为我绞尽脑汁。

恐怕我不明白这个问题。没有配置文件,因为我正在使用FluentNHibernate。如何配置“执行目录”?遗憾的是,它就在那里。我知道基本的ADO.NET功能可以工作,因为我仍然在服务中运行NHibernate之前的数据访问代码。但是谢谢你的邀请!增加了一些问题。大卫:)对不起,我不知道该提供什么,因为我被卡住了。它和实时系统是同一个数据库。类库不要求任何身份验证。我没有提供配置代码,因为它适用于web应用程序,因此它肯定可以吗?请让我知道你想让我发布什么。你是否检查了InnerException。这里有关于您的错误的具体信息。是的。似乎没有InnerException。我对DLL&VS也有同样的问题。