如何将SQLite(SQLite.NET)添加到我的C#项目中

时间:2010-04-19 05:32:02

标签: c# sql database visual-studio-2008 sqlite

我按照文档中的说明进行操作:

  

场景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的\数据Feed \ Program.cs中(5,19)。:   错误CS0234:类型或命名空间   名称'SQLite'在。中不存在   命名空间'System.Data'(是吗?   缺少装配参考?)

我不想使用GAC,所以我只是将System.Data.SQLite.dll放到我的.\dev\DataFeed\文件夹中。我认为我需要做的就是将DLL添加到文档中提到的项目文件夹中,但我无法使用该库。关于如何实现这项工作的任何提示?

1 个答案:

答案 0 :(得分:3)

您将DLL删除到.\Dev\DataFeed文件夹中 - 并且是否已将该DLL的引用添加到项目中?你得到的错误似乎表明你没有设置到该DLL的引用 - 这不会单独发生,如果你想使用其中的东西,你需要手动添加对外部DLL的引用。 / p>