Невозможно загрузить DLL 'sqlite3': указанный модуль не найден.(Исключение из HRESULT: 0x8007007E) - PullRequest
30 голосов
/ 20 января 2011

В настоящее время я использую SQLite для Windows Forms, но во время работы проекта отображается ошибка:

Невозможно загрузить DLL 'sqlite3': указанный модуль не найден.(Исключение из HRESULT: 0x8007007E)

Я добавил библиотеку DLL System.Data.SQLite.dll, но она показывает ту же ошибку.Пожалуйста, кто-нибудь может мне помочь, дав идеальный ответ по этой проблеме?Заранее спасибо

Ответы [ 13 ]

21 голосов
/ 03 ноября 2014

Это должно исправить мою проблему. Добавьте следующие DLL.

enter image description here

12 голосов
/ 16 марта 2013

Используйте проект «Добавить существующий элемент» и выберите sqlite3.dll «Как ссылка». Нажмите ОК. Выберите DLL в проекте и установите для параметра «Копировать локальное» значение True.

11 голосов
/ 20 января 2011

Может быть, вы не добавили версию для нужной платформы?SQLite распространяется с одной сборкой X86 (32-разрядная) и одной сборкой X64 (64-разрядная).

Если ваше приложение является 32-разрядным приложением, вам следует использовать System.Data.SQLite.dll, расположенный в «bin»"каталог дистрибутива System.Data.SQLite, если это 64-битное приложение, вы должны использовать его в" bin \ x64 ".

Однако, глядя на сообщение об ошибке во второй раз, яне уверен, что это так.Вы делаете нативные звонки в SQLite?В этом случае вам, возможно, придется переименовать DLL в sqlite3.dll.

Как вы, возможно, знаете, System.Data.SQLite - это пакет оригинального нативного sqlite3.dll и управляемого провайдера ADO.NET (если только вы не используете старую версию, в этом случае я не уверен - выможет понадобиться родной sqlite3.dll отдельно)

3 голосов
/ 14 июня 2016

В моем случае я работаю над проектом UWP.Мне пришлось добавить ссылку на Visual C ++ 2015 Runtime для универсальных приложений платформы Windows , и ошибка исчезла.Его можно добавить в справочном менеджере в разделе «Универсальные окна Windows»> «Расширения».Подробное решение можно найти здесь .

2 голосов
/ 24 октября 2011

Эта проблема возникла недавно - после присоединения procmon к моему процессу я обнаружил, что последние библиотеки System.Data.SQLite (созданные для .NET4) зависят от времени выполнения MSVC 2010, и серверы не ' это не установлено. К счастью, это можно снять с веб-сайта Microsoft .

2 голосов
/ 17 июня 2011

У меня возникла та же проблема, когда я скачал последний sqlite провайдер , и я попробовал решение из здесь , но оно не сработало, , следовательно, я скачал ранее версия и работает нормально.

1 голос
/ 17 марта 2018

После трех дней борьбы, наконец, нашел способ решить.

По состоянию на март 2018 года, если вы попытаетесь использовать sqlite-net через диспетчер пакетов Nuget, он добавляет два файлаи несколько ссылок на ваше решение независимо от типа проекта UWP или Android и т. д.

enter image description here

И после этого, если вы скомпилируете и запустите решение, произойдет сбойза исключением

Невозможно загрузить DLL 'sqlite3': указанный модуль не найден.(Исключение из HRESULT: 0x8007007E)

Это связано с тем, что невозможно загрузить файл sqlite3.dll, поскольку он не добавлен в решение с помощью менеджера пакетов NUGET. Поэтому необходимо добавить его вручную.

Чтобы добавить, сначала определите, является ли ваш проект 32-битным или 64-битным, затем загрузите соответствующие предварительно скомпилированные двоичные файлы для среды выполнения Windows из https://www.sqlite.org/download.html и добавьте их вручную (копирование и вставка).

Так что теперь ваше решение будет выглядеть ниже одного и будет работать без проблем.enter image description here

1 голос
/ 07 декабря 2017

У меня была точно такая же проблема для проекта UWP в приложении Xamarin.Forms. Добавление ссылки на «SQLite для универсальной платформы Windows» в проект UWP решило проблему. enter image description here

1 голос
/ 04 августа 2015

Особенно, если вы обновились до Visual Studio 2015 RTM и разрабатываете универсальные приложения для Windows, попробуйте удалить расширение SQLite для универсальной платформы приложений и переустановить (см. http://sqlite.org/download.html).

1 голос
/ 17 ноября 2014

Я создаю собственное приложение для Windows Phone 8.1 с PCL и проектом Droid. У меня была такая же ошибка, и я поставил ссылку на правильную версию sqlite3.dll (wpa81), и все заработало.

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