System.Data.SQLite.dll — какая версия и как компилировать?

Я пишу приложение для Windows, используя окна x64. На машине разработчика я могу экспортировать установщик, установить приложение, и оно отлично работает, независимо от того, компилирую ли я для любого процессора, x86 или x64 и, по-видимому, независимо от того, какую версию System.Data.SQLite.dll я использую - смешанный режим, x64, x86, не смешанный режим...

При переносе установщика на другую машину, тоже x64 Win7, не важно как компилируется приложение и какую System.Data.SQLite.dll использую.

Я получаю ошибки от BadImageFormatException до UnsafeNativeMethods в зависимости от того, какую комбинацию я использую.

Какую комбинацию компиляции System.Data.SQLite.dll и ЦП следует использовать? x64 / x64 кажется логичным выбором, но, конечно же, принудительная компиляция x86 и использование dll x86 тоже должны работать?

Или я лаю совершенно не на то дерево?

Спасибо

Изменить: действительно важно только, чтобы приложение компилировалось на платформе x64 w7, по крайней мере, на данный момент.


person kieranajp    schedule 03.05.2012    source источник


Ответы (1)


Я была такая же проблема. Я должен был использовать 32-разрядную версию и скомпилировать ее как приложение x86 (даже для систем Windows 7 x64).

Если это поможет, размер файла system.data.sqlite.dll был 866 КБ (используя версию 1.0.64, если я правильно помню).

person Jason Down    schedule 03.05.2012
comment
Спасибо, проблема оказалась в этом. Полное удаление System.Data.SQLite и установка 32-битной версии, похоже, помогли. Пометил это как ответ, ура! - person kieranajp; 03.05.2012
comment
@kieranajp: Рад, что смог помочь. - person Jason Down; 03.05.2012