最终用户计算机无法找到System.Data.SQLite

时间:2012-12-20 18:33:12

标签: linqpad system.data.sqlite

Linqpad v4.26

这个过程适用于我的开发盒。我手动复制到最终用户安装文件夹linqpad.exe,linqpad.exe.config,custom.dll,system.data.sqlite.dll和system.data.sqlite.linq.dll。

我创建了一个连接,单击单选按钮从您自己的程序集中使用类型化数据上下文。选择实体框架,选择下一步,浏览到我的自定义DLL。选择提供商单选按钮到其他。 System.Data.SQLite不在下拉列表中。

我在我的开发箱上运行了sqlite setup-bundle安装程序,以便在GAC中安装sqlite以支持VS2010设计器。

谢谢,

约翰

2 个答案:

答案 0 :(得分:1)

显示数据库提供程序的下拉列表填充了System.Data.Common.DbProviderFactories.GetFactoryClasses()。如果未列出SQLite,则尚未在machine.config中注册。但是,LINQPad不会阻止您手动输入提供程序的名称,就像构建实体框架连接字符串一样。

答案 1 :(得分:0)

+1,因为即使我在下拉列表中看到它也不会显示有效。

我现在做了以下事情无济于事:

  1. 在客户端计算机上运行sqlite-netFx40-Setup-x86-2010-1.0.82.0.exe。
  2. 从readme.htm部分复制/粘贴到Linqpad.exe.config文件中。
  3. 将Program Files \ System.data.sqlite中的System.Data.SQLite.dlls复制到我安装Linqpad的app目录。
  4. 解雇linqpad选择我的自定义提供商。它显示了所有表,但是一旦我尝试运行任何查询,我就会遇到异常。