2012-12-20 49 views
0

Linqpad v4.26終端用戶機無法找到System.Data.SQLite

這個過程對我開發框的偉大工程。我手動複製到最終用戶安裝文件夾linqpad.exe,linqpad.exe.config,custom.dll,system.data.sqlite.dll和system.data.sqlite.linq.dll。

我創建一個連接,單擊單選按鈕使用一個類型化的數據上下文形式自己的程序集。選擇實體框架,選擇下一步,瀏覽到我的自定義dll。選擇提供者單選按鈕到其他。 System.Data.SQLite不在下拉列表中。

我在Dev框中運行了sqlite setup-bundle安裝程序,以便在GAC中安裝sqlite以支持VS2010設計器。

感謝,

約翰

回答

1

,顯示數據庫提供商填充了System.Data.Common.DbProviderFactories.GetFactoryClasses()下拉。如果沒有列出SQLite,那麼它尚未在machine.config中註冊。但是,LINQPad不會像您在構建實體框架連接字符串時手動輸入提供者的名稱。

+0

這必須解釋爲什麼我不得不把這個在我的app.config類也:<刪除不變=「System.Data.SQLite」 /><添加名稱=「SQLite的數據提供者」不變= 「System.Data.SQLite」type =「System.Data.SQLite.SQLiteFactory,System.Data.SQLite」/> John

+0

發言太快......當我將以上添加到linqpad.exe.config文件我在下拉列表中看到了System.Data.SQLite,但是當選擇測試按鈕linqpad時,我說有一個有效連接,並且存在一個內部異常:指定的存儲提供者在配置中找不到,或者無效。 – John

+0

嘗試將其添加到名爲linqpad.config的文件中 - 這是您的查詢配置,而不是LINQPad本身。 –

0

+1,因爲即使我可以在下拉菜單中看到它,它似乎不是有效的。

我現在已經做了以下無濟於事:

  1. 然在客戶機上的sqlite-netFx40 - 設置 - x86-2010-1.0.82.0.exe。
  2. 將readme.htm部分複製/粘貼到Linqpad.exe.config文件中。
  3. 將System.Data.SQLite.dlls從Program Files \ System.data.sqlite複製到安裝了Linqpad的應用程序目錄中。
  4. 燃起了linqpad選擇我的自定義提供程序。它顯示了所有的表格,但只要我嘗試運行任何查詢,我就會遇到異常。