Не удалось создать драйвер из NHibernate.Driver.SQLite20Driver, NHibernate, Версия = 3.1.0.4000 - PullRequest
0 голосов
/ 21 сентября 2011

У меня есть тестовый проект, в котором я пытаюсь протестировать свой слой nhibernate с использованием базы данных sql lite в памяти.

Я получаю сообщение об ошибке:

Не удалось создать драйвер из 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();
}

Я использую fluentnhibernate, а также nunit.

В чем может быть проблема?

Обновление

Я скачал x64 (я на Windows 7 64-bit) с http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki и теперь я получаю эту ошибку:

 Unable to load DLL 'SQLite.Interop.DLL': The specified module could not be found. (Exception from HRESULT: 0x8007007E)

Если я попытаюсь добавить Interop.dll в vs.net 2010, я не скажу, что его нельзя добавить, убедитесь, что он действителен и т. Д.

1 Ответ

5 голосов
/ 21 сентября 2011

Последняя версия SQLite для .NET распространяется в виде 2 dll.

  • System.Data.SQLite.dll
  • SQLite.Interop.dll

Обе библиотеки должны присутствовать в той же папке, что и ваш EXE. Interop dll зависит от платформы, поэтому вам нужно вручную (или после сборки) скопировать версию x86 или x64.

Следует также помнить, что SQLite.Interop.dll его зависит от MSVCR100.DLL (часть распространяемого пакета Visual C ++ 2010 SP1). Вы можете получить его здесь:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...