Тип или имя пространства имен SQLite не существует в пространстве имен "System.Data" (вам не хватает ссылки на сборку?)

ДА, я добавил файл System.Data.Sqlite.dll в свой проект (VS2012). ДА, я добавил ссылку. ДА, я дважды проверял, что ссылка создана (Reference Properties > Path is correct). ДА, я использовал Google, Bing,

НЕТ, я не знаю, почему мой код не будет компилироваться.

Ответ 1

Похоже, вы ссылаетесь на неверную версию System.Data.Sqlite.dll, которая несовместима с версией .NET, которую вы используете в своем приложении.

Попробуйте установить правильный вариант из http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki

Ответ 2

Если он был установлен с nuget, выполните следующую команду в консоли диспетчера пакетов:

Update-Package –reinstall System.Data.SQLite

В VS2013 эту консоль можно найти в меню "Вид" > "Другие Windows" > "Менеджер пакетов".

Как указано в комментарии, эта ошибка возникает, если ваш проект настроен на использование Net45 при установке пакета и через некоторое время после его настройки для использования Net40.

Я думаю, что обратный случай, конфигурация Net40 в Net45, также может вызвать эту ошибку.

Ответ 3

У меня была такая же ситуация. Я проверил свойства ссылочной SQLite dll и версию одной ошибки бросания, и она была 1.0.92.0 Я заменил его правой версией 1.0.90.0 и теперь он работает.

Удивительно 1.0.92.0 работал с Web Project, но не с библиотекой классов или библиотекой WCF prj VS2013?

Ответ 4

Проверьте, соответствует ли ссылка dll целевой платформе вашего проекта. Например: если вы используете сборку 4.0 с таргетингом на проект 4.5, вы получите эту ошибку.