64-битный SQLite.dll и любой процессор - PullRequest
4 голосов
/ 28 июня 2011

Я наконец решил опубликовать вопрос здесь после некоторого времени, потраченного на то, чтобы выяснить эту проблему.Несколько дней назад я разместил этот же вопрос на форуме sqlite, но этот сайт в настоящее время недоступен.http://sqlite.phxsoftware.com/forums/t/2669.aspx

Итак, вот вопрос: у меня 64-битный компьютер с 64-битной ОС.У сотрудника есть 64-битный компьютер с 32-битной ОС.Мы разрабатываем веб-приложение, которое доставляет много данных с сервера и хранит их в базе данных SQLite, чтобы все могло работать быстрее.Прямо сейчас мы используем 32-битный SQLite.dll на обеих машинах.Однако мы хотим перейти на 64-битную DLL (и увеличить объем данных, которые мы можем использовать и хранить).Я скачал с http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki следующие файлы: sqlite-dotnet-x64-1007300.exe и установил на мою машину.Я поместил System.Data.Sqlite.dll и System.Data.Sqlite.Linq.dll в папку lib, а я скопировал Sqlite.Interop.dll в папку bin \ Debug.Когда я отлаживаю приложение с помощью любого процессора, на моей машине все работает нормально, однако мой коллега получает ошибки.

Я хочу использовать 64-битную dll и создать exe-файл с использованием любого процессора и не беспокоиться, если система 32 или 64. Это возможно?И если это то, что я должен сделать, чтобы достичь этого?Заранее спасибо!

PS Мы используем C # - Visual Studio 2008 3.5 SP1

Ответы [ 3 ]

7 голосов
/ 07 октября 2013

Сегодня вам больше не нужно.Просто убедитесь, что вы связываете обе библиотеки взаимодействия следующим образом:

path_to_exe\System.Data.SQLite.dll
path_to_exe\x64\SQLite.Interop.dll
path_to_exe\x86\SQLite.Interop.dll

и System.Data.SQLite.dll найдет правильную в зависимости от платформы.

2 голосов
/ 06 июля 2014

Просто установите его из nuget . Он установит обе сборки, и они будут скопированы в отдельные папки и использованы в зависимости от целевой системы. Просто установите режим сборки на Любой процессор, и все готово!
С здесь .

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

Полагаю, вам придется поставлять как 32-битные, так и 64-битные SQLite.dll и устанавливать один или другой в зависимости от архитектуры целевой системы.

...