2015-11-09 1 views
0

Фон:Как получить надлежащие сборки SQLite для проекта, настроенного для процессора x86?

Работает на C# с использованием рамки 2.0 и настраивает приложение для использования sqlite. При развертывании на некоторые машины клиента я получаю:

Could not load file or assembly System.Data.SQLite.dll 

Я нахожусь под впечатлением, что не должно быть ни один клиент не устанавливает SQLite до тех пор, как вы разместили выше DLL в каталоге выполнения. Я попробовал несколько конфигураций (x86 DLL, скомпилированная в проект с таргетингом на x86 cpu - не удалось как на компьютерах x86, так и на x64 компьютерах; x64 DLL, скомпилированных в проект, нацеленный на процессор x64; - не удалось как на компьютерах x86, так и на компьютерах x64; обе версии архитектуры DLL таргетинг на любой CPU - не удалось как на x64, так и на x86).

Я использую SQLite версии 1.0.98.0. Я не уверен, какой уместный код я мог бы опубликовать, поскольку это проблема с ссылкой на DLL, но я рад загрузить все, что необходимо для содействия разумному ответу. У меня нет компьютера с компьютерным компьютером, поэтому, если бы я мог запустить этот проект как x86-таргетинг на x86-процессор, это было бы здорово. Да, я уже пробовал эту комбинацию, используя правильную DLL, убедившись, что она попадает в папку времени выполнения, и она все еще терпит неудачу. Если бы я мог разместить более двух экранов, я бы тоже показал файл, но, увы, не могу.

Я искал довольно долгое время и не могу найти пример, который точно соответствует тому, что я хочу сделать. Вопрос задан, но не решен. Я читал, что причиной этого является конфигурация DLL, и именно поэтому я пробовал обе библиотеки DLL для обоих процессоров. Увидев, что этот вопрос задан очень много, и я все еще не мог найти свой ответ, я должен предположить, что многие люди находятся в том же положении, что и я, поэтому, возможно, мы сможем работать вместе и дать сообществу отличную должность для решения Эта проблема.

Assembly information for the x86 configuration

Configuration Manager for x86 CPU

+0

Это приложение для форм Windows, FYI. – VinnyGuitara

+0

можете ли вы опубликовать изображение своих свойств проекта, включая целевую версию .net framework? –

+0

@VinnyGuitara попробуйте просто скопировать всю папку bin/debug (release) на клиентский компьютер и попробовать запустить приложение. если он запускается, тогда должна быть проблема в способе создания. У меня была аналогичная проблема несколько дней назад. –

ответ

0

Убедитесь, что длл будут diployed должным образом на целевой машине. Некоторое время установки компилятора (inno setup) помещает все файлы в структуру каталогов в одной и той же корневой папке, поэтому .net не может записывать dll для ожидаемого пути и, следовательно, он выбрасывает исключение файла

+0

Это звучит разумно, но, возможно, потому, что я ноб с SQLite, я дона «Я действительно знаю, как должна выглядеть структура каталогов. Мой файл System.Data.Sqlite.dll находится в той же папке, что и исполняемый файл. бен \ отладки. Если есть другое место, это dll должно быть таким .net может найти его где бы это было? – VinnyGuitara

+0

Я не использую INNO Setup - на этом этапе я просто хватаю выходной каталог и перемещаю его на клиентскую машину для тестирования. Таким образом, расширение dll приложения находится в той же папке, что и .exe ... Разве это не должно быть настроено? – VinnyGuitara

+0

для структуры компактных папок sql выглядит следующим образом: http://imgur.com/1QHeMtV –

Смежные вопросы