私は最新のNHibernate 2.1.0Beta2を使用しています。私が必要とするようなので、それが見えますアセンブリがSystem.Data.SQLiteを解決するNHibernateで実行するようにSQLiteを設定する方法?
NHibernate.HibernateException: The IDbCommand and IDbConnection implementation in the assembly System.Data.SQLite could not be found. Ensure that the assembly System.Data.SQLite is located in the application directory or in the Global Assembly Cache. If the assembly is in the GAC, use <qualifyAssembly/> element in the application configuration file to specify the full name of the assembly.
at NHibernate.Driver.ReflectionBasedDriver..ctor(String driverAssemblyName, String connectionTypeName, String commandTypeName) in c:\CSharp\NH\nhibernate\src\NHibernate\Driver\ReflectionBasedDriver.cs: line 26
at NHibernate.Driver.SQLite20Driver..ctor() in c:\CSharp\NH\nhibernate\src\NHibernate\Driver\SQLite20Driver.cs: line 28
を:私はSQLiteのでユニットテストしようとして設定した構成持っている:私はそれを実行しようとすると、私は次のエラーを取得する
Dictionary<string, string> properties = new Dictionary<string, string>();
properties.Add("connection.driver_class", "NHibernate.Driver.SQLite20Driver");
properties.Add("dialect", "NHibernate.Dialect.SQLiteDialect");
properties.Add("connection.provider", "NHibernate.Connection.DriverConnectionProvider");
properties.Add("query.substitutions", "true=1;false=0");
properties.Add("connection.connection_string", "Data Source=test.db;Version=3;New=True;");
properties.Add("proxyfactory.factory_class",
"NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu");
configuration = new Configuration();
configuration.SetProperties(properties);
をアセンブリを直接参照する。私はこれをどうすれば私はもうこのエラーが出ませんか?
最新のアセンブリは、http://sourceforge.net/projects/sqlite-dotnet2からダウンロードしました。
誰かがこの質問に実行され、この答えの更新バージョンを探している場合 -
この正確な問題についての私のブログでの投稿はずっと更新ここでの回答よりも...
[のhttp:// debuggerstepthrough.blogspot.co.il/2011/08/unit-testing-fluentnhibernate.html(http://debuggerstepthrough.blogspot.co.il/2011/08/unit-testing-fluentnhibernate.html) – gillyb
コードはsqlite-dotnet2はアプリケーションディレクトリにありますか? (またはGACに登録されていますか?) – Jay
私は、プロジェクトのリファレンスでSystem.Data.SQLite.DLLへの参照を持っています。私は単位テスト(Resharperユニットテストランナーを通して)を実行すると仮定しています。それはそれをコピーします。 –