sqlite-net'den sqlite.net PCL sürümüne değiştirdik. Projemiz eski ile iyi çalıştı - PCL baskısıyla, şimdi platformumuzu kullanarak açık bir şekilde ilan etmeliyiz. Bu hattını aradığındasqlite.net PCL, TypeInitalizationException'ı atar
var conn = new SQLiteConnection(new SQLitePlatformWin32(), Path.Combine(folderPath, dbName));
Ama şimdi, biz
SQLite.Net.Platform.Win32.dll oluştu türü 'System.TypeInitializationException' birIlk şansını istisna olsun
Ek bilgi: "SQLite.Net.Platform.Win32.SQLiteApiWin32Internal" için tür başlatıcısı bir istisna attı.
iç İstisna bize
söyler { "yerli sqlite kitaplığı yüklenemedi"}
StackTrace: SQLite.Net.Platform.Win32 de
. SQLiteApiWin32Internal.sqlite3_open_v2 (Byte [] dosya adı, IntPtr & db, Int32 bayrakları, IntPtr zvfs)
SQLite.Net.SQLiteConnection..ctor (ISQLitePlatform sqlitePlatform String DatabasePath de SQLite.Net.Platform.Win32.SQLiteApiWin32.Open de(byte [] dosya adı, IDbHandle & db, ınt32 bayraklar, ıntptr zvfs)
, SQLiteOpenFlags openFlags, Boole storeDateTimeAsTicks, IBlobSerializer seri hale ıdictionary
2 tableMappings, IDictionary
2 extraTypeMappings, IContractResolver çözümleyici) SQLite.Net.SQLiteConnection..ctor (ISQLitePlatform sqlitePlatform string DatabasePath, Boole storeDateTimeAsTicks, IBlobSerializer seri hale deıdictionary
2 tableMappings, IDictionary
2 extraTypeMappings, IContractResolver çözümleyici)
Ancak sqlite3.dll uygulama klasöründedir ve aslında unforked sürümüyle çalışmıştır. Ben x86 ve x64 için derleme ile oynadım ve Win32 için en son sqlite3.dll indirildi ama hepsi başarılı olmadan. Neyi kaçırıyoruz?
Bu çözüm oldu - eksik olan interop dll dosyalarıydı ve çekirdek paketini projeme ekledikten sonra bu dosyaları da eklediler. İlginç bir şekilde, dosyalarımı lib libite dosyamda (liblite pcl dosyalarına sahip olduğum yerde) doğrudan bir bağımlılık olarak eklemem gerekti, ancak çalışmam için sınıf kütüphanesine bağlı olan gui projemde. – Marwie
MSIL .Core paketini değil, doğru .Core paketini (x86/x64) seçtiğinizden emin olun. –
SQLitePlatformWin32 ve SQLitePlatformGeneric arasındaki fark nedir? – batmaci