SQLite с VS 2010 - PullRequest
       5

SQLite с VS 2010

2 голосов
/ 19 февраля 2011

Я работаю над проектом, и мне нужно использовать некоторую базу данных. Я выбрал SQLite из-за его простоты использования. Но у меня возникли некоторые проблемы, чтобы заставить его работать. Я использую System.Data.SQLite из http://sqlite.phxsoftware.com/, но когда я пытаюсь запустить программу, я получаю следующее сообщение об исключении. Я кодирую C # с Visual Studio 2010 ..

Не удалось загрузить файл или сборку 'System.Data.SQLite, версия = 1.0.66.0, культура = нейтральная, PublicKeyToken = 1fdb50b1b62b4c84, Retargetable = Yes 'или одна из его зависимостей.Указанное имя сборки или кодовая база недопустимы.(Исключение из HRESULT: 0x80131047)

Я не знаю, почему я это понимаю и как с этим справиться.

Мне нужно подготовить этот проект на завтра и мне нужна ваша помощь.

Ответы [ 5 ]

3 голосов
/ 19 февраля 2011

Когда вы добавляете ссылку на сборку System.Data.SQLite, убедитесь, что для свойства «Копировать локальный» установлено значение true:

  1. Щелкните правой кнопкой мыши сборку System.Data.SQLite
  2. Измените «Копировать локально» на Истинный

Это с добавлением Ответ Дилли-О должен запустить SQLite на .Net v4.0 Framework в VS 2010.

2 голосов
/ 19 февраля 2011

Существует известная проблема с .Net Framework 4 и SQLite в соответствии с этой публикацией и этой ссылкой на публикацию .Решение состоит в том, чтобы добавить следующий раздел в ваш файл .config:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" />
  </startup>
</configuration>

Это позволит правильно загрузить сборку 2.0 с платформой 4.0.По-видимому, текущая библиотека SQLite построена как сборка .Net 2.0.

1 голос
/ 31 января 2013

Я тоже страдаю от этого исключения. Вот мое решение:

Изменить app.config:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" />
  </startup>
</configuration>

В «Обозревателе решений -> {Проект} -> Справка -> System.Data.SQLite» -> Свойства -> Копировать локальный »выберите« Истина »

Вам необходимо развернуть project.exe и project.exe.config вместе.

Я не знаю, почему вам нужно развернуть .config, но он не сработает, если я разверну project.exe без project.exe.config.

1 голос
/ 19 февраля 2011

Если вам нужен материал слоя DBML и LINQ to SQL Lite в вашем проекте, вам лучше использовать инструменты DEVART LinqExpress от www.devart.com .

Это бесплатно и позволяет вам визуально построить вашу модель, а затем использовать сгенерированные классы Linq в вашем проекте - более влажный VS Express или режим полной монтировки.

Как только LinqExpress для SQLLite добавляется к ссылкам вашего проекта, он также запускает библиотеку sqlLite.

Обратите внимание: у меня нет акций в компании Devart, но когда мне понадобилась помощь с бесплатным продуктом, они помогли мне бесплатно.

0 голосов
/ 26 марта 2014

Я встречал ту же проблему.Я использую VS Express 2010 и SQLite (1.0.66.0).На самом деле, он отлично работает во время моей разработки и отладки, но после того, как я развернул скомпилированную DLL на рабочий сервер.Я получил эту ошибку.Я понял, что это было вызвано другой версией sqlite dll, поэтому я исправил это с помощью следующих шагов:

1) Установите ту же версию sqlite на компьютере разработчика с рабочим сервером (версия 1.0.87);2) скопируйте system.data.sqlite.dll из папки версии 1.0.87 в справочную папку сборки .NET Framework (C: \ Program Files (x86) \ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0), которая используется вVS express 2010 для .NET Framework 4.0

3) перекомпилируйте проект, чтобы получить новую DLL 4) скопируйте dll с шага 3 на рабочий сервер, затем проблема исчезла.

Также вы можетесм. этот блог: http://www.tsjensen.com/blog/post/2011/06/04/SQLite+On+Visual+Studio+2010+Setup+Instructions.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...