Nishikant Tayade Ответов: 1

Невозможно загрузить sqlite.interop.dll указанный модуль не удалось найти.


Я работаю над приложением winform,оно использует базу данных SQLite.

Appliaction работает без каких-либо проблем на моей машине,но когда я устанавливаю его на другую машину и пытаюсь сохранить данные, то он выдает вышеупомянутое исключение.

У меня есть SQLite.Взаимодействие.DLL в обоих моих bin и папку отладку приложения.

Я также добавил dll в папку приложения проекта установки во время развертывания.

Я прошел через следующие темы, но ни одна из них не помогла.

Что я уже пробовал:

DLL Dependency Viewer или как исправить исключение: “не удалось загрузить DLL “...” указанный модуль не найден. (Исключение из HRESULT: 0x8007007E)”[^]



c# - не удается загрузить DLL 'SQLite.Взаимодействие.dll' - переполнение стека[^]

F-ES Sitecore

Установлен ли SQLite на целевой машине? Библиотека DLL interop - это просто способ для вашего кода .net взаимодействовать с базовой установкой SQLite, если этой установки нет, то коду не с чем взаимодействовать.

Nishikant Tayade

Да,у меня есть установленная система.Данных.Базы данных SQLite через менеджер пакетов в моем проекте,
и он работает на моей машине,но проблема заключается в том, что я запускаю свою установку на другой машине и пытаюсь сохранить данные, введенные при нажатии кнопки.

RedDk

Я не уверен, что это вам поможет, но я провел несколько часов, борясь с менеджером пакетов Nuget на VS2010, пытаясь скомпилировать/связать из исходного кода SQLite netFx (1.0.108.0) с ним ... и мне наконец удалось получить справочный System.Data.SQLite через графический интерфейс VS. Теперь, что касается "SQLite.Взаимодействие" ... эта конкретная DLL-библиотека канонически недоступна через мои усилия по "полному исходному коду", но я бы сказал, что, возможно, начиная с исходного кода, Вы получите более локальную коробочную сборку, чем та, которая обычно загружается с сайта SQLite dev .

Предостережение к моей борьбе состояло в том, что мне никогда не удавалось правильно написать сценарий установки, который будет выполняться с ошибкой "подтвердить" как есть, поэтому моя ссылка была сделана через диалог "добавить" .NET. И я понимаю, исходя из вашего предыдущего поста, что на самом деле это не проблема с вами, потому что вы действительно можете обойтись без отказа intellisense, потому что вам даже удалось перевести это "взаимодействие" в состояние "использования". Чего я никогда не мог сделать, используя загрузку SQLite установщика, предварительно скомпилированного в виде двоичного файла (по-видимому, с присутствующим патентным переключателем сценариев (PS2)).

Nishikant Tayade

Я использовал inno setup,так как он позволяет добавлять зависимости самостоятельно.Поэтому я добавил:
все файлы, включая SQLite.Interop.dll и это работает очень хорошо.

RedDk

И об этом, ручные ссылки в VS (на мой взгляд, что использование NPM для выполнения грязной работы или нет, как это бывает, когда VSIX полностью не compos mentis) ... после успешного включения сборки мне пришло в голову, что может возникнуть еще одна проблема, а именно то, что удаленная машина может даже не иметь файла VS runtime (для VC++ ... даже отмечено на сайте SQLite), так что обязательно включите это в любой установщик thingmajig.

1 Ответов

Рейтинг:
2

Ejrr1085

Это сработало для меня:

Unable to load DLL 'SQLite.Interop.dll'