2011-09-10 13 views
3

FluentConfigurationExceptionはSessionFactoryの作成中に無効または不完全なコンフィギュレーションが使用されたFluentConfigurationExceptionは、未処理

未処理でした。 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プロバイダアセンブリが展開されていません。

  • session-factoryセクションの 'proxyfactory.factory_class'プロパティを初期化するために使用されるtypeNameが正しく構成されていません。

ソリューション:あなたの展開フォルダは、次のアセンブリのいずれかが含まれ

確認:

NHibernate.ByteCode.LinFu.dll

NHibernate.ByteCode.Castle.dll

私はコンソールアプリケーションで物事をテストしています。私のコンソールアプリケーションは、すべての自分のnhibernateエンティティ/マッピングとセッションファクトコードを持つ私のデータプロジェクトを参照します。

データプロジェクトは、/ binに/デバッグフォルダに以下があります。

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

を私は今日http://fluentnhibernate.org/からすべての私の.dllのダウンロード(それはNHibernateは3.1を使用して1.2流暢だ)

答えて

3

私はあなたを考えますNHibernate.ByteCode.Castle.dllへの参照をコンソールアプリケーションに追加する必要があります。

+0

修正。 NHibernate.ByteCode.Castle参照は、アプリケーションのエントリポイントに追加する必要があります。それがコンソールアプリケーションの場合は、コンソールアプリケーションプロジェクトです。それは、Webアプリケーションの場合は、Webアプリケーションプロジェクトなど –

+0

私はすでに私のプロジェクトでNHibernate.ByteCode.Castleを持っている同じエラーが継続されます。これに対して可能な他のシナリオをお勧めしますか? – Neha