FluentConfigurationException未处理

时间:2011-09-10 21:32:33

标签: c# nhibernate fluent-nhibernate

FluentConfigurationException未处理

创建SessionFactory时使用了无效或不完整的配置。检查PotentialReasons集合,以及InnerException以获取更多详细信息。

我的SessionFactory方法:

_sessionFactory = Fluently.Configure()
                .Database(MsSqlConfiguration.MsSql2008 // 
                              .ConnectionString(@"Server=.\SQLExpress;Database=testdb1;Uid=dev;Pwd=123;"))
                .Mappings(m => m.FluentMappings
                                   .AddFromAssemblyOf<User>())
                .ExposeConfiguration(cfg => new SchemaExport(cfg)
                                                .Create(true, true))
                .BuildSessionFactory();

内部例外是:

  

在配置代理工厂类时无法加载类型'NHibernate.ByteCode.Castle.ProxyFactoryFactory,NHibernate.ByteCode.Castle'。

     

可能的原因是:

     
      
  • 未部署NHibernate.Bytecode提供程序程序集。

  •   
  • 用于初始化会话工厂部分的“proxyfactory.factory_class”属性的typeName格式不正确。

  •   
     

解决方案:

     

确认您的部署文件夹包含以下程序集之一:

     

NHibernate.ByteCode.LinFu.dll

     

NHibernate.ByteCode.Castle.dll

我正在控制台应用程序中测试。我的控制台应用程序引用了我的数据项目,它包含我所有的nhibernate实体/映射和sessionfactory代码。

Data项目在/ bin / debug文件夹中包含以下内容:

Castle.core.dll, FluentNHibernate.dll, Iesi.COllection.dll, NHibernate.ByteCode.Castle.dll, NHibernate.dll

我今天从http://fluentnhibernate.org/下载了所有的.dll(因此使用nhibernate 3.1,它的流畅度为1.2)

1 个答案:

答案 0 :(得分:3)

我认为你必须在你的控制台应用程序中添加对NHibernate.ByteCode.Castle.dll的引用。