获取NHibernate会话时发生TypeInitializationException

获取NHibernate会话时发生TypeInitializationException,nhibernate,Nhibernate,我遇到了一个NHibernate配置问题。基本上,我使用NUnit运行了一个简单的概念验证持久性集成测试,该测试只需查询Oracle数据库并成功返回基础表收到的最后一条记录。但是,当程序集从NUnit测试环境中取出并按照实际应用程序构建的方式部署时,我对NHibernate会话的调用会导致执行代码行时出现TypeInitializationException: sessionFactory = New Configuration().Configure().BuildSessionFactory

我遇到了一个NHibernate配置问题。基本上,我使用NUnit运行了一个简单的概念验证持久性集成测试,该测试只需查询Oracle数据库并成功返回基础表收到的最后一条记录。但是,当程序集从NUnit测试环境中取出并按照实际应用程序构建的方式部署时,我对NHibernate会话的调用会导致执行代码行时出现
TypeInitializationException

sessionFactory = New Configuration().Configure().BuildSessionFactory()
该应用程序是一个针对Oracle 9.2数据库运行的vb.net控制台应用程序,使用Bill McCafferty在web上发布的名为“NHibernate与ASP.net的最佳实践”(S#harp体系结构之前)的“编码框架”。我正在运行NHibernate的2.1.2.4000版

非常感谢您的帮助

问候


Paul J.

如果您的nhibernate配置文件被破坏,或者如果nhibernate的任何依赖项丢失(例如log4net),您将得到此异常

stacktrace通常会告诉您问题所在。没有看到您的配置,我只能猜测,但一些可能的问题是:

  • 名称空间不正确
  • 配置包含无效的元素或属性
  • 不正确的属性名称

如果配置文件基于过时的文档,则很容易出现这些错误。对于当前版本,将记录XML配置文件。

请向我们展示您的nhibernate配置文件。感谢Lachlan感谢您的回复。实际上解决了这个问题,输出文件夹中没有生成Log4net.dll。