sqlite 1.0.80.0 .NET 4 и платформа Entity

У меня странная проблема с sqlite 1.0.80.0(sqlite-netFx40-setup-bundle-x86-2010-1.0.80.0.exe).

Сначала у меня был установлен sqlite 1.0.66 в моей Visual Studio 2010 SP1. Я удалил его, чтобы установить последнюю версию system.data.sqlite (1.0.80.0). Установка прошла успешно без ошибок. Я сделал проект (консольное приложение) и создал файл объекта фреймворка (.edmx). Я могу легко подключить файл sqlite и создать модель из базы данных sqlite.

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

System.Security.VerificationException: операция может дестабилизировать среду выполнения.

Я пробую бесчисленное количество вещей, чтобы увидеть, смогу ли я решить проблему. Но без решения до сих пор. Я пытался использовать SQL Server 2008, и он отлично работает. Значит, что-то не так с system.data.sqlite или я что-то не так делаю?

Чтобы попробовать все, я установил sqlite 1.0.66 обратно на визуальную студию 2010 SP1, и он работает с тем же проектом!

Кто-нибудь знает причину?


person Adwen    schedule 30.04.2012    source источник


Ответы (1)


Возможно, это как-то связано с использованием пакета bundle. Я только что изучил, какой пакет/дистрибутив мне подходит, и прочитал эту статью.

«Все пакеты «bundle» содержат сборку смешанного режима «System.Data.SQLite.dll». Эти пакеты следует использовать только в тех случаях, когда двоичный файл сборки должен быть развернут в глобальном кэше сборок по какой-либо причине (например, для поддержки какое-то устаревшее приложение на клиентских компьютерах)».

дальше...

«Использование глобального кэша сборок (вообще) не рекомендуется, поэтому следует избегать пакетов «пакетов», если они не считаются абсолютно необходимыми».

Таким образом, развертывание XCOPY в сочетании с функцией предварительной загрузки собственной библиотеки не повредит.

person Rev    schedule 07.12.2012
comment
Что ж, команда System.Data.sqlite заметила, что с пакетами возникла большая путаница, и через некоторое время разобралась. Теперь вы просто загружаете правильный пакет своей стороны, и он работает так же, как 1.0.66. - person Adwen; 09.12.2012