XAML と C# を使用して Windows 8 ストア アプリを作成しており、ターゲット デバイスは Windows Surface タブレットです。
私のアプリケーションでは、SQLite データベースを使用しています。
データベースを作成/ロードするには、次のコードを使用します。
DBPath = Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "MyDatabase.sqlite");
ただし、データベースを Documents フォルダーに保存したいので、次のコード行を試して上記の行を置き換えました。
DBPath = Path.Combine(Windows.Storage.KnownFolders.DocumentsLibrary.Path, "MyDatabase.sqlite");
これを試すと、次のエラーが表示されます。
WinRT information: Access to the specified location (DocumentsLibrary) requires a capability to be declared in the manifest.
そこで、Package.appxmanifest を開き、[機能] の下の [ドキュメント ライブラリ] を選択し、[宣言] タブの下に [ファイル タイプの関連付け] を追加しました。次に、[プロパティ] の下で、[名前] ボックスに sqlite と入力し、[ファイルの種類] ボックスに .sqlite と入力しました。Package.appxmanifest 画面に他の情報を入力していません。
アプリを実行すると、次のエラーが表示されます。
Could not open database file: MyDatabase.sqlite (CannotOpen)
Windows.Storage.KnownFolders.DocumentsLibrary.Path を調べると、"" と等しくなります。ここで完全な場所のパスを期待していたでしょう。
SQLite データベースをドキュメント フォルダに保存したことのある人はいますか?
前もって感謝します。