我无法在我的sessionfactory中使用SQLite Driver.
我从http://sqlite.phxsoftware.com/下载了SQLite 1.0.48
我在Tests项目中添加了对System.Data.SQLite的引用.
public static IPersistenceConfigurer GetSqlLiteConfigurer() { try { return SQLiteConfiguration .Standard .InMemory(); } catch (Exception ex) { throw ex; } }
这就是我生成配置器的方法
问题是,当我构建我的sessionfactory时,我收到以下错误:
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, useelement in the application configuration file to specify the full name of the assembly. at NHibernate.Driver.ReflectionBasedDriver..ctor(String driverAssemblyName, String connectionTypeName, String commandTypeName) at NHibernate.Driver.SQLite20Driver..ctor()
我试图更改SQLite版本,但没有解决问题.
我找不到问题所在,我已经为此工作了2天.
如果您需要更多信息,请与我们联系.
谢谢您的帮助!
查尔斯
当我遇到这个问题时,它是由于运行将我的应用程序的处理器属性设置为anycpu并在64位系统上运行而引起的.要解决此问题,我将应用程序处理器属性设置为x86.我不认为System.Data.SQLite.dll支持在x64进程下运行.
我通过获取FluentNHibernate SVN存储库中的System.Data.SQLite.dll文件解决了我的问题.
现在这很好用.
我应该先检查一下;)