Не удается найти SQLite.Interop.dll - PullRequest
0 голосов
/ 14 февраля 2019

Я пишу приложение на C #, которое использует SQLite с расширениями.Однако в этой строке выдается исключение

cnn.LoadExtension("SQLite.Iterop.dll", "sqlite3_json_init");

Теперь есть много подобных вопросов, поэтому, пожалуйста, не отмечайте это как "дубликат", не читая, так какЯ уже попробовал решения этих вопросов.

Я расскажу здесь, что я пробовал:

  1. В некоторых ответах предлагается использовать Nuget для установки System.Data.SQlite.Core.Я уже проверил, и он уже установлен
  2. Какой-то другой ответ предложил включить в проект dll в папках X86 и X32.Я пытался сделать это, но сначала папки не включаются, и когда я включаю dll, ошибка все еще там
  3. Какой-то другой ответ предложил просто скопировать вручную dll в папку Debug bin.Уже пытался, это не работает
  4. Другой ответ предложил настроить цель платформы от AnyCPU до x86, например.Я пробовал это, и это также не удается

Как программа может найти эту DLL (которая находится в папке x86 и x32 в папке Debug)

1 Ответ

0 голосов
/ 14 февраля 2019

Для ошибок «не удается найти файл» лучший инструмент Process Monitor .

Быстро остановите трассировку, очистите трассировку, а затем приготовьтесь воспроизвести проблему, Process Monitor работает в режиме реального времени.-время и регистрирует много информации, так что вы захотите быстро решить проблему.

Как только проблема возникла, остановите Trace.Я предпочитаю сохранять его в формате CSV, а в Excel использовать кнопку «Сортировка» и искать «Путь не найден».

Вам нужно увидеть, где ПК ищет DLL / файл, и поместить его туда, где ожидается,Согласно вашему варианту 3.

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