Как добавить SQLite (SQLite.NET) в мой проект C # - PullRequest
3 голосов
/ 19 апреля 2010

Я следовал инструкциям в документации:

Сценарий 1. Независимая от версии (не использует глобальный кэш сборок)

Этот метод позволяет вам сбросить любой новый версия System.Data.SQLite.DLL в папку вашего приложения и использовать это без каких-либо изменений кода или перекомпиляции. Добавьте следующий код в ваш файл app.config:

<configuration>
  <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" />
    </DbProviderFactories>
  </system.data>
</configuration>

Мой файл app.config теперь выглядит так:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
            <section name="DataFeed.DataFeedSettings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
        </sectionGroup>
    </configSections>
    <userSettings>
        <DataFeed.DataFeedSettings>
            <setting name="eodData" serializeAs="String">
                <value>False</value>
            </setting>
        </DataFeed.DataFeedSettings>
    </userSettings>
    <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" />
      </DbProviderFactories>
    </system.data>
</configuration>

Мой проект называется «DataFeed»:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SQLite; //<-- Causes compiler error

namespace DataFeed
{
    class Program
    {
        static void Main(string[] args)
        {
        }
    }
}

Я получаю ошибку:

\ DEV \ DataFeed \ Program.cs (5,19).: ошибка CS0234: тип или пространство имен имя «SQLite» не существует в Пространство имен 'System.Data' (вы отсутствует ссылка на сборку?)

Я предпочитаю не использовать GAC, поэтому я просто уронил System.Data.SQLite.dll в свою папку .\dev\DataFeed\. Я думал, что все, что мне нужно сделать, это добавить DLL в папку проекта, как это было упомянуто в документации, но я не могу использовать библиотеку. Любые советы о том, как на самом деле сделать эту работу?

1 Ответ

3 голосов
/ 19 апреля 2010

Вы поместили DLL в папку .\Dev\DataFeed - и вы добавили ссылку на эту DLL в свой проект? Похоже, что ошибка, которую вы получаете, указывает на то, что у вас нет ссылки, настроенной на эту DLL - это не произойдет само по себе, вам нужно вручную добавить ссылку на внешнюю DLL, если вы хотите использовать что-то из нее.

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