无法从NHibernate.driver.SQLite20Driver创建驱动程序,NHibernate,版本=3.1.0.4000

无法从NHibernate.driver.SQLite20Driver创建驱动程序,NHibernate,版本=3.1.0.4000,nhibernate,sqlite,fluent-nhibernate,Nhibernate,Sqlite,Fluent Nhibernate,我有一个测试项目,我正在尝试使用内存数据库中的SQLLite测试我的nhibernate层 我得到了一个错误: 无法从NHibernate.driver.SQLite20Driver创建驱动程序,NHibernate,版本=3.1.0.4000, private void CreateSessionFactory() { _sessionFactory = Fluently .Configure() .Database(_d

我有一个测试项目,我正在尝试使用内存数据库中的SQLLite测试我的nhibernate层

我得到了一个错误:

无法从NHibernate.driver.SQLite20Driver创建驱动程序,NHibernate,版本=3.1.0.4000,

private void CreateSessionFactory()
{
            _sessionFactory = Fluently
            .Configure()
            .Database(_dbType)
            .Mappings(m => m.FluentMappings
                .AddFromAssemblyOf<UserMap>())
            .ExposeConfiguration(cfg => _configuration = cfg)
            .BuildSessionFactory();
}
如果我尝试在vs.net 2010中添加Interop.dll,它不会让我说它无法添加,请确保它有效等。

的最新版本作为2个dll分发

  • System.Data.SQLite.dll
  • SQLite.Interop.dll
两个DLL都需要与EXE位于同一文件夹中。互操作dll是特定于平台的,因此您必须手动(或编译后)复制x86或x64版本

另一个要记住的是,<强> SQLite .Inop.DLL>强> ITSLF依赖于<强> MsVCR100.DLL>强(部分Visual C++ 2010 SP1可重分发包)。你可以在这里找到它:

的最新版本作为2个DLL分发

  • System.Data.SQLite.dll
  • SQLite.Interop.dll
两个DLL都需要与EXE位于同一文件夹中。互操作dll是特定于平台的,因此您必须手动(或编译后)复制x86或x64版本

另一个要记住的是,<强> SQLite .Inop.DLL>强> ITSLF依赖于<强> MsVCR100.DLL>强(部分Visual C++ 2010 SP1可重分发包)。你可以在这里找到它:


当我通过“添加引用”添加项目时,sql.data.sqlite added fine.sqlite.Interop.dll不是托管dll,您不能将其添加为对.NET项目的引用。应该手动复制。这不再适用。如果在windows上运行sqlite安装程序,它会将ineterop构建到主System.Data.sqlite.dll中。这是你唯一需要带到Party的东西。我通过“添加引用”添加它时,为什么它拒绝添加到我的项目中?sql.data.sqlite added fine.sqlite.Interop.dll不是托管dll,你不能将它添加为对.NET项目的引用。应该手动复制。这不再适用。如果在windows上运行sqlite安装程序,它会将ineterop构建到主System.Data.sqlite.dll中。这是你唯一需要带去参加聚会的东西
 Unable to load DLL 'SQLite.Interop.DLL': The specified module could not be found. (Exception from HRESULT: 0x8007007E)