我正在使用Fluent NHibernate和一个外部' hibernate.cfg.xml'文件。按照这样的机器名称" Environment.MachineName +" .cfg.xml""
以下是我收到错误的配置代码:
public static bool BuildSessionFactory()
{
if (_sessionFactory != null) return false;
var configuration = new NHibernate.Cfg.Configuration();
configuration.Configure(Environment.MachineName + ".cfg.xml");
configuration.AddAssembly(System.Reflection.Assembly.GetExecutingAssembly());
_sessionFactory = Fluently.Configure(configuration)
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<NHibernateHelper>())
.BuildSessionFactory();
return true;
}
但是当NHibernate试图配置时,我得到了错误:
例外说:
FluentNHibernate.Cfg.FluentConfigurationException was unhandled
Message: An unhandled exception of type 'FluentNHibernate.Cfg.FluentConfigurationException' occurred in FluentNHibernate.dll
Additional information: An invalid or incomplete configuration was used while creating a SessionFactory. Check PotentialReasons collection, and InnerException for more detail.
答案 0 :(得分:3)
当您的映射出现问题时会发生这种情况。主要的例外情况并不能告诉你更多。
你需要深入研究内部异常的文本,然后通常应该非常清楚问题是什么。
编辑:添加虽然没有任何问题,但在我看来,调用配置文件<MachineName>.cfg.xml
会给构建和部署过程带来不必要的复杂性。您无法在不重命名配置文件的情况下将代码部署到另一台计算机(例如,测试或产品实例)。