私のWindows phone 8、C#Appには次のような奇妙な動作があります。windows phone 8、applicationsettingsは永続化されません。
私は設定を保存しています:
private void SaveProperty<T>(T property, string propertyName)
{
if (IsolatedStorageSettings.ApplicationSettings.Contains(propertyName))
IsolatedStorageSettings.ApplicationSettings[propertyName] = property;
else
IsolatedStorageSettings.ApplicationSettings.Add(propertyName, property);
IsolatedStorageSettings.ApplicationSettings.Save();
}
アプリを実行すると、私はIsolatedStorageSettings.ApplicationSettings
に保存されているすべての設定を読み込むことができます。
私のアプリを開いたとき(アプリケーションリストから開くと)、IsolatedStorageSettings.ApplicationSettings
- 辞書にはゼロ(0
)のキーと値が含まれています。
何か不足していますか?
ISETool.exeを使用して、私のアプリのIsolatedStorageのスナップショットを取得しました(chepeneのおかげで)。 私はこの動作を見ました。設定を書き込むと(SaveProperty<T>()
の機能が終了したことを意味します)、アプリケーションはまだ実行されていますが、設定は_ApplicationSettings
に保存されています。これは、私の観察と一致して、私がIsolatedStorageSettings.ApplicationSettings
からアプリを実行しているときに読むことができるということに同意します。 _ApplicationSettings
- ファイルが破棄されているか、実行されていないときにも表示されます(アプリが戻るボタンで閉じられている場合、とのバックボタンを押してアクセスできます)。
しかし、アプリは(アプリリストを経由して)再び開いたときに、_ApplicationSettings
-fileがなくなって...
IsolatedStorage
にファイルを書いているときに私はまた、それを見る
:
SharedStorageAccessManager.CopySharedFileAsync(
Windows.Storage.ApplicationData.Current.LocalFolder, fileName+"orig",
Windows.Storage.NameCollisionOption.ReplaceExisting, fileID);
このファイルを読んでいないと、次回にアプリケーションを開くと消えてしまいます。
ところで、混乱を避けるために、私はではありません。私はそれを開くたびにアプリケーションを再インストールしています。
詳細が必要な場合はお尋ねください。
助けてください。
エミュレータまたはデバイスを使用していますか?エミュレータが使用されている場合は、ビジュアルスタジオのデバッグセッションまたはエミュレータの「戻る」ボタンを停止してアプリケーションを終了していますか? –
'Save()'メソッドの後、あなたのアプリの隔離されたストレージにどのファイルが存在するかを(Isolated Storage Explorerで)調べます。 – Chepene
@Beytan Kurt:デバイスを使用していますが、エミュレータもチェックしました。同じ動作です。私はアプリを直接終了するのではなく、アプリリストからアプリを開いて再オープンするのではありません。 –