Wyjątek podczas używania SQLite w aplikacji WinRT
Buduję aplikację Windows 8, a teraz chcę używać SQLite dla tej aplikacji. zainstalowałemSQLite for Windows Runtime
przez menedżera rozszerzeń Visual Studio 2013 i dodałemsqlite-net
do mojego projektu poprzez NuGet.
Próbuję utworzyć bazę danych w moim app.xaml.csOnLaunched
, ale otrzymuję ten wyjątek, gdy uruchamiam projekt:
Nie można załadować biblioteki DLL „sqlite3”: Nie można znaleźć określonego modułu. (Wyjątek od HRESULT: 0x8007007E)
Jest to bardzo dziwne, ponieważ podczas kompilacji nie ma błędu. W każdym razie myślę, że próbuje mi powiedzieć, że muszę odwołać się do dodatkowej biblioteki DLL:sqlite3.dll
, ale to nie działa. Mam 6 różnych bibliotek DLL w moim systemie plików: zarówno debugowanie, jak i wydanie wersji ARM, x64 i x86. Próbowałem dodać wersję x86 do mojego projektu, ale w wyniku tego wyjątek:
Odniesienie do 'C: Użytkownicy Leon Dokumenty Visual Studio 2013 Projekty Nie można dodać pakietówogalytics SQL 86 sq33.dll'. Upewnij się, że plik jest dostępny i że jest poprawnym zespołem lub komponentem COM.
To bardzo smutne, że dokumentacja sqlite-net jest do bani, jest bardzo przestarzała (przykłady już nie działają), jest bardzo niekompletna i nie ma żadnej wzmianki o ręcznym dodawaniu DLL. Mam więc 2 pytania:
Jak naprawić ten konkretny problem?Gdzie znajdę aktualną dokumentację dla sqlite-net?Edytuj: kod, którego używam do utworzenia bazy danych:
private void InitializeDatabase()
{
var db = new SQLiteConnection("Googalytics");
db.CreateTable<Account>();
db.CreateTable<WebProperty>();
db.CreateTable<Profile>();
}
Nazywam tę metodę stąd:
InitializeDatabase();
if (rootFrame.Content == null)
{
// When the navigation stack isn't restored navigate to the first page,
// configuring the new page by passing required information as a navigation
// parameter
if (!rootFrame.Navigate(typeof(MainPage), args.Arguments))
{
throw new Exception("Failed to create initial page");
}
}
// Ensure the current window is active
Window.Current.Activate();
edit2: trochę więcej informacji o mojej konfiguracji:
Visual Studio 2013 RCWindows 8.1 RTMSQLite dla Windows Runtime 3.8.0.2sqlite-net 1.0.7