2013-10-21 66 views
0

我有.net 4.0 WPF應用程序。我的活動解決方案平臺是「任何CPU」,我在64位Windows 7系統上運行。我使用Sqlite.It在我的系統上正常工作。但是當我正在將我的應用程序安裝到其他機器時,出現錯誤「試圖加載格式不正確的程序(來自HRESULT的異常:0x8007000B)」。我嘗試編譯x86和x64和我得到同樣的錯誤。任何想法可能是什麼問題?安裝WPF應用程序時出現SQLite問題

回答

0

如在http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki

網站報道如果開發和客戶機可能有不同的處理器架構,可能需要一個以上的二進制軟件包。對於這種情況,強烈建議使用本機庫的預加載功能。它從版本1.0.80.0開始可用,並且默認啓用。爲了利用此功能,必須在XCOPY部署中使用單獨的託管程序集和互操作程序集(即混合模式程序集不支持此功能,也不將此程序集部署到全局程序集緩存中),從而導致一個應用程序的部署,看起來是這樣的:

  • \ APP.EXE(可選,託管應用程序僅可執行程序集)
  • \ App.dll(可選,管理,只有應用程序庫組件)
  • \ System.Data.SQLite.dll(必需,受管理的核心組件)
  • \ System.Data.SQLite.Linq.dll(可選,管理d-僅LINQ組件)
  • \ System.Data.SQLite.EF6.dll(可選,託管僅EF6組件)
  • \ 86 \ SQLite.Interop.dll(需要,X86天然互操作組件)
  • \ x64 \ SQLite.Interop.dll(必需的,x64本機互操作程序集)

上面的字符串「」表示應用程序二進制文件將在目標機器上部署的目錄。通過啓用本機庫預加載功能和上面顯示的應用程序部署,System.Data.SQLite受管理的程序集將嘗試自動檢測當前進程的處理器體系結構並預加載適當的本機庫。