Развертывание SQLite для приложения .net - PullRequest
13 голосов
/ 07 октября 2011

Я использовал SQLite для своего WPF-приложения .net framework 4.0. Он отлично работает в среде разработки.Я просто скопировал system.data.sqlite.dll в папку, в которой установлено приложение, но она не работает должным образом.

Может кто-нибудь сказать мне, как развернуть SQLite для новой машины .?

Разве этого недостаточно, чтобы распространять только DLL?Я использую installshiled 2011 для сборки установщика.Пожалуйста, поделитесь, если у кого-нибудь есть модуль слияния для SQLite.

Ранняя помощь будет принята с благодарностью.

Заранее спасибо

Vinay MS

Ответы [ 4 ]

7 голосов
/ 07 октября 2011

Вы должны быть в состоянии работать только с взаимодействием и библиотеками данных. Наш проект использует эти:
Note: we are using LINQ as well.

LINQ один не требуется, если вы не используете LINQ.

Я переименовал каждую копию SQLite3.dll или SQLite3.exe на моем компьютере (их было десятки), и приложение продолжает работать. Я проверял, чтобы убедиться, что мой ответ правильный, и это то, что мы собираемся сделать, чтобы убедиться, что наши установки также работают.

5 голосов
/ 30 мая 2012

То, что говорит Тангурена, является правильным (что фактически помогло мне заставить его работать), но вам также необходимо включить параметр конфигурации, упомянутый в файле readme для SQLite:

<system.data>
    <DbProviderFactories>
        <remove invariant="System.Data.SQLite" />
        <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite"
             type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite, Version=1.0.80.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" />
    </DbProviderFactories>
</system.data>
0 голосов
/ 15 февраля 2013

Как уже упоминалось ранее, вам необходимо включить в конфигурацию вашего приложения:

<system.data>
<DbProviderFactories>
    <remove invariant="System.Data.SQLite" />
    <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite"
         type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite, Version=1.0.80.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" />
</DbProviderFactories>

Вы также должны добавить DLL-файлы к ссылкам:

  • SQLite.Designer
  • System.Data.SQLite
  • System.Data.SQLite.Linq

И установить для свойства 'Copy Local' значение, равное true для каждого из них. Пожалуйста, посетите мой блог для более информация

0 голосов
/ 07 октября 2011

На самом деле, вы должны иметь возможность просто скопировать System.Data.SQLite.dll из вашего проекта.Обычно я устанавливаю для свойства CopyLocal значение true, когда добавляю эту ссылку к своим проектам, а затем проверяю, чтобы при создании установщика эта DLL находилась в том же месте, что и конечный файл .exe.Я написал сообщение в блоге об этом в прошлом году, возможно, что-то в моем сообщении поможет вам выбрать правильный путь: Мой блог на SQLite и C #

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