System.Data.SQLite数据提供程序丢失

时间:2011-05-19 14:03:29

标签: .net visual-studio-2010 sqlite

我之前安装了旧版本的SQLite(来自http://sqlite.phxsoftware.com),现在将其替换为最新版本(来自http://sqlite.org推荐)。我能够在2010年的“服务器资源管理器”中看到旧版本的数据提供程序,并且缺少新版本。

我使用安装程序作为管理员并选择安装程序集GAC。在安装之后,我在我的machine.config中看到,不再有SQLite的条目,而且以前有过。我为新版本插入了一个新版本,但没有帮助。

手插入条目:

<DbProviderFactories>
    <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.72.0,
         Culture=neutral, PublicKeyToken=db937bc2d44ff139" />
    <!-- other entries here -->
</DbProviderFactories>

现在我陷入困境,不知道接下来要尝试什么,或者弄清楚两个版本之间的安装有什么区别。这可能是一个巨大的差异,因为不同的开发人员组现在正在为.Net维护这个。

1 个答案:

答案 0 :(得分:2)

SQLite在Windows后面可能是如此巨大的痛苦,甚至都不好笑。我不能说我曾经特别处理过这个问题,但我已经处理过没有在GAC中正确识别的SQLite资源。在确定SQL Server 2008 Express Edition将安装SQLite实用程序以及默认SQL实例以及其他所有内容以便Microsoft产品随时可以提取它之前,我已经丢失了整整2天的时间。我已经在我的机器上安装了SQL Server 2008 Professional,并且安装快速实例至少没有弄乱我的配置。

我意识到这完全是一种解决方法,但从长远来看,最好的办法是将dll引用移动到所需项目中的/ Binaries /文件夹,并仅使用GAC for Microsoft程序集。很明显,大多数第三方都不知道如何正确使用GAC(这是他们的错,还是微软是我留给哲学家的问题),所以除非你想花费大量时间来学习它的怪癖,你最好使用Binaries文件夹。