Что вызывает System.BadImageFormatException при создании System.Data.SQLite.SQLiteConnection - PullRequest
35 голосов
/ 12 января 2010

Я разбил код до наименьшего возможного утверждения:

Dim cn As System.Data.SQLite.SQLiteConnection

И я получаю следующую ошибку при вызове кода из приложения WinForm:

System.BadImageFormatException: может не загружать файл или сборку 'System.Data.SQLite, версия = 1.0.65.0, Culture = нейтрально, PublicKeyToken = db937bc2d44ff139 'или одна из его зависимостей. Попытка был сделан, чтобы загрузить программу с неверный формат. Имя файла: 'System.Data.SQLite, версия = 1.0.65.0, Culture = нейтрально, PublicKeyToken = db937bc2d44ff139'

Тем не менее, при вызове того же фрагмента кода из MS Unit Test я не получаю сообщение об ошибке, плюс полный набор кодов работает, как и ожидалось.

Ответы [ 3 ]

57 голосов
/ 12 января 2010

SqlLite содержит неуправляемый код, его нельзя запустить в 64-разрядной операционной системе, если вы не развернете 64-разрядную версию. Быстрое решение: Project + Properties, вкладка Build, Platform Target = x86.

4 голосов
/ 12 января 2010

Убедитесь, что вы используете правильную сборку в отношении 32 и 64 бит.

1 голос
/ 15 января 2014

Я решил проблему, загрузив новую версию DLL-библиотеки SQLite через NuGet: http://gurustop.net/blog/2011/05/19/sqlite-database-nuget-package-common-problems-solved/

...