Windows 8 アプリを作成していますが、このアプリに SQLite を使用したいと考えています。SQLite for Windows Runtime
Visual Studio 2013 拡張機能マネージャーを使用してインストールし、 sqlite-net
NuGet を使用してプロジェクトに追加しました。
app.xaml.csOnLaunched
にデータベースを作成しようとしていますが、プロジェクトを実行すると次の例外が発生します。
DLL 'sqlite3' をロードできません: 指定されたモジュールが見つかりませんでした。(HRESULT からの例外: 0x8007007E)
コンパイル中にエラーが発生しないため、これは非常に奇妙です。とにかく、追加の DLL: を参照する必要があることを伝えようとしていると思いますsqlite3.dll
が、それは機能しません。私のファイル システムには 6 つの異なる DLL があります。ARM、x64、および x86 のデバッグ バージョンとリリース バージョンの両方です。プロジェクトに x86 リリース バージョンを追加しようとしましたが、次の例外が発生します。
「C:\Users\Leon\Documents\Visual Studio 2013\Projects\Googalytics\packages\SQLite\x86\sqlite3.dll」への参照を追加できませんでした。ファイルにアクセスできること、および有効なアセンブリまたは COM コンポーネントであることを確認してください。
sqlite-net のドキュメンテーションがひどいもので、非常に時代遅れで (例はもはや機能しません)、非常に不完全であり、手動で DLL を追加することについても言及されていないのは非常に悲しいことです。だから私は2つの質問があります:
- この特定の問題を修正するにはどうすればよいですか?
- sqlite-net の最新のドキュメントはどこにありますか?
編集: DB の作成に使用するコードは次のとおりです。
private void InitializeDatabase()
{
var db = new SQLiteConnection("Googalytics");
db.CreateTable<Account>();
db.CreateTable<WebProperty>();
db.CreateTable<Profile>();
}
ここからそのメソッドを呼び出します。
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:私のセットアップに関する詳細情報:
- ビジュアル スタジオ 2013 RC
- Windows 8.1 RTM
- Windows ランタイム 3.8.0.2 の SQLite
- sqlite-net 1.0.7