获取NHibernate会话时的TypeInitializationException

时间:2010-03-17 09:57:17

标签: nhibernate

我遇到了似乎是NHibernate配置问题的问题。基本上,我使用NUnit运行了一个简单的概念证明持久性集成测试,测试只是查询Oracle数据库并成功返回基础表接收的最后一条记录。但是,当程序集从NUnit测试环境中取出并像实际应用程序构建那样进行部署时,我对NHibernate会话的调用会在执行代码行时产生TypeInitializationException

sessionFactory = New Configuration().Configure().BuildSessionFactory()

该应用程序是一个针对Oracle 9.2数据库运行的vb.net控制台应用程序,使用Bill McCafferty在网络上发布的名为“NHibernate Best Practices with ASP.NET”(pre S#harp Architecture)的“编码框架”。我正在运行NHibernate的2.1.2.4000版本。

非常感谢任何帮助。

亲切的问候

Paul J。

1 个答案:

答案 0 :(得分:2)

如果你的nhibernate配置文件坏了,或者缺少任何NHibernate的依赖项(例如log4net),你会得到这个例外。

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

  • 错误的命名空间
  • config包含无效元素或属性
  • 错误的媒体资源名称

如果您的配置文件基于过时文档,则很容易产生这些错误。对于当前版本,XML配置文件记录为here