2013-11-25 139 views
0

我正在開發MvvmCross應用程序套件的WPF組件。我非常熱愛MvvmCross,並且可以看到它使跨平臺開發變得更容易。Sqlite在64位機器上MvvmCross失敗

我看到的問題是,當我使用SQLite插件並將WPF代碼作爲「任何CPU」運行時,它無法使用BadImageFormatException加載本機sqlite3.dll。如果我選擇x86或更喜歡32位,那麼它在32位模式下工作正常。但是,在WPF項目中,我使用的COM組件需要在64位計算機上以64位模式加載,在32位計算機上以32位模式加載。混淆了com組件。

因此,使用SQLite時,是否可以在64位模式下運行MvvmCross?

我是否必須使用System.Data.Sqlite,並且這對MvvmCross有好處?

回答

1

對於在32位,64位(和ARM)之間提供選擇的Windows平臺,您需要構建和使用SQLite3.dll本機DLL和MvvmCross.Sqlite插件平臺組件的特定架構版本。

不幸的是,這並不是全部由nuget或MvvmCross構建樹自動完成的。我試圖花時間在此,但我設法讓自己綁在nuget和Powershell腳本 - 所以我放棄了...(儘管我確實嘗試在http://nuget.codeplex.com/discussions/446656中建議更簡單的nuget包裝系統)

如果你想要爲不同的體系結構包含不同的程序集,那麼在https://github.com/MvvmCross/MvvmCross/issues/307中討論如何在WinRT平臺中完成此操作 - 我相信64位Wpf平臺的情況會類似。

目前,該領域正在積極調查「新」https://github.com/MvvmCross/MvvmCross-SQLite SQLite網絡端口。影響WPF的最近的討論包括https://github.com/MvvmCross/MvvmCross-SQLite/issues/8https://github.com/MvvmCross/MvvmCross-SQLite/pull/10 - 額外的開發人員非常歡迎爲這個SQLite-net回購做出貢獻 - 如果我們能幫助讓SQLite-net更容易地用於WPF和WinRT開發,那將是非常好的。

相關問題