Подтвердить что ты не робот

Не удалось создать драйвер из NHibernate.Driver.SQLite20Driver

Здесь код, вызывающий исключение

   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;

    }

Полный текст исключения:

Отказ: NHibernate.HibernateException: не удалось создать драйвер от NHibernate.Driver.SQLite20Driver, NHibernate, Version = 2.1.2.4000, Культура = нейтральная, PublicKeyToken = aa95f207798dfdb4.

---- > System.Reflection.TargetInvocationException: Исключение выбрано целью вызова.

---- > NHibernate.HibernateException: реализация IDbCommand и IDbConnection в сборке System.Data.SQLite может не найдено. Убедитесь, что установлен узел System.Data.SQLite в каталоге приложения или в глобальном кэше сборок. Если сборка находится в GAC, используйте элемент в файл конфигурации приложения, чтобы указать полное имя сборка.

Версия NHibernate - 2.1.2.4000
Версия System.Data.SQLite - 1.0.66.0
Целевая структура - 3.5 (x86)
Локальная копия для System.Data.SQLite включена.

Что может быть неправильным?

4b9b3361

Ответ 2

Просто скопируйте библиотеку System.Data.SQLite.dll в базовый каталог вашего приложения (особенно там, где размещена библиотека NHibernate.dll). Вам даже не нужно его добавлять в качестве ссылки под VS.

С уважением
Бронек

Ответ 3

Не удалось создать драйвер из NHibernate.Driver.SQLite20Driver, NHibernate, Version = 2.1.2.4000, Culture = neutral, PublicKeyToken = aa95f207798dfdb4

Решение:

testsettings: выбирать хосты выберите тесты запуска в 64-битном процессе на 64-битной машине

надеюсь, что смогу помочь.

веселое кодирование

Ответ 4

Я только что установил пакет SQLite NuGet, и это сработало для меня.

Ответ 5

Если LocalCopy включен, он включен для версии System.Data.SQLite в стартовом проекте, потому что там, где он будет искать его, а не в каталоге bin подпроекта.