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

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

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

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

Ответ 1

Возможно, вы не добавили версию для правильной платформы? 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 отдельно)

Ответ 2

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

enter image description here

Ответ 3

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

Ответ 4

В моем случае я работаю над проектом UWP. Мне пришлось добавить ссылку на Visual С++ 2015 Runtime для Universal Windows Platform Apps, и ошибка исчезла. Его можно добавить в диспетчер ссылок в Universal Windows > Extensions. Подробное решение можно найти здесь.

Ответ 6

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

Ответ 7

Скопируйте файл sqlite3.dll в папку System32. Это сработало для меня. И спасибо тоже!

Ответ 8

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

Ответ 9

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

Ответ 10

У меня была такая же проблема для проекта UWP в приложении Xamarin.Forms. Добавление ссылки на "SQLite для универсальной платформы Windows" в проект UWP решило проблему. введите описание изображения здесь

Ответ 11

Все они кажутся решениями для определенных ситуаций. Для меня и для @Marlon Ticao на этой странице приложение просто не может найти DLL.

Существует 2 решения. Скопируйте его в каталог, который находится в вашем пути (например, System32), или вы можете скопировать его в тот же каталог, в котором находится ваш исполняемый файл.

Ответ 12

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

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

введите описание изображения здесь

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

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

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

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

Итак, теперь ваше решение будет выглядеть ниже, и оно будет работать без проблем. введите описание изображения здесь