簡體   English   中英

在服務器上部署時,帶有EF6的SQLite無法正常工作

[英]Sqlite with EF6 doesn't work when deployed on server

我一直在開發一個使用Sqlite存儲一些數據的Web應用程序。 當我將其部署到服務器時,我收到以下錯誤消息。 連接字符串中文件的路徑正確,並且在我的開發計算機上正常運行。 有什么事嗎

無法加載在ADO.NET提供程序的應用程序配置文件中注冊的實體框架提供程序類型'System.Data.SQLite.EF6.SQLiteProviderServices,System.Data.SQLite.EF6',其名稱不變為'System.Data.SQLite' 。 確保使用了程序集限定名稱,並且該程序集可用於正在運行的應用程序。 有關更多信息,請參見http://go.microsoft.com/fwlink/?LinkId=260882

好的,我找到了解決方案。 當我在開發機中安裝Sqlite時,我使用了一個安裝程序(安裝了Dll除外)用於Visual Studio的設計器工具。 部署到服務器時,未包含所有必需的DLL。 Sqlite具有針對x86或x64系統的非托管庫。 這些已安裝到開發機器,但在您的項目中不可用。 當您在服務器上執行所謂的XCOPY部署時,非托管提供程序將不可用。 您需要從以下鏈接下載它們: https : //system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki,並將其包含在bin文件夾中。 但這還不夠。

默認情況下,.NET項目設置為“任何CPU”。 您需要將應用程序定位為運行x86或x64(我的選項),具體取決於服務器操作系統(32位或64位)。 只有這樣,Sqlite提供程序才會加載。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM