无法从NHibernate.Driver.SQLite20Driver创建驱动程序

Stu*_*ens 16 c# sqlite nhibernate

这是引发异常的代码

   public Configuration GetConfiguration()
    {
        var persister = SQLiteConfiguration
            .Standard
            .UsingFile("Test.db")
            .ShowSql();


        var configuration = Fluently
            .Configure()
            .Database(persister)
            .Mappings(map => map.FluentMappings.AddFromAssemblyOf<WordMap>())
            .BuildConfiguration();

        new SchemaExport(configuration).Execute(true, true, false);

        return configuration;

    }
Run Code Online (Sandbox Code Playgroud)

完整的例外文字:

失败: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的
版本是2.1.2.4000 版本的System.Data.SQLite是1.0.66.0
目标框架是3.5(x86)
System.Data.SQLite的本地副本是ON.

可能有什么不对?

Bro*_*nek 11

只需将System.Data.SQLite.dll库复制到应用程序的基本目录(特别是放置NHibernate.dll库的地方).您甚至不需要在VS下添加它作为参考.

关心
Bronek


MoM*_*oMo 9

我刚刚安装了SQLite NuGet包,这对我有用.


alu*_*lun 6

我通过向app.config添加useLegacyV2RuntimeActivationPolicy ="true"来摆脱这个问题.请参阅将NHibernate SQLite应用程序升级到.Net 4.0的问题


小智 6

无法从NHibernate.Driver.SQLite20Driver,NHibernate,Version = 2.1.2.4000,Culture = neutral,PublicKeyToken = aa95f207798dfdb4创建驱动程序

解:

testsettings:选择主机在64位机器上选择64位进程运行测试

希望我能帮忙.

快乐的编码