テストにはmspecを使用し、テストではデータベースにSQLitex86を使用するNHiernateセットアップを使用しています。問題は、mspec r#ランナーを使用してテストを実行すると、すべてが正常に機能しますが、コンソールから実行すると、sqlitedllが見つからないというエラーが発生することです。
仕様プロジェクトの私の構成:
.net 4
x86(sqliteのx86バージョンを使用)
System.Data.SQLite、Version = 1.0.64.0、Culture = neutral、PublicKeyToken = db937bc2d44ff139 mspec、Version = 0.3.0.0、Culture = neutral、PublicKeyToken = null、ターゲットランタイム:v4.0.30319、ターゲット:x86
MSpecはソースから構築されます。リフレクターでは、mspec.exeはx86用にビルドされたものとして表示されます。これは私のセットアップに適しているようで、前述のように、テストはr#ランナーを使用して正常に実行されています。
NHibernate.HibernateException:NHibernate.Driver.SQLite20Driver、NHibernate、Version = 2.1.2.4000、Culture = neutral、PublicKeyToken=aa95f207798dfdb4からドライバーを作成できませんでした。---> System.Reflection.TargetInvocationException:呼び出しのターゲットによって例外がスローされました。---> NHibernate.HibernateException:アセンブリSystem.Data.SQLiteのIDbCommandおよびIDbConnection実装が見つかりませんでした。アセンブリSystem.Data.SQLiteがアプリケーションディレクトリまたはグローバルアセンブリキャッシュにあることを確認します。アセンブリがGACにある場合は、アプリケーション構成ファイルの要素を使用して、アセンブリのフルネームを指定します。NHibernate.Driver.ReflectionBasedDriver..ctor(String driverAssemblyName、String connectionTypeName、String commandTypeName)at NHibernate.Driver.SQLite20Driver..ctor()
誰かがそれを修正する方法を考えていますか?
よろしくお願いします。曇りのウィーンからのご挨拶、
クリス