Windows phone 8、C# アプリで次の奇妙な動作があります。
私は設定を保存しています:
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
-Dictionary にはゼロ ( 0
) キーと値が含まれています。
何か不足していますか?
ISETool.exe を使用して、アプリの IsolatedStorage のスナップショットを作成しました (chepene のおかげです)。私はこの動作を見ました:設定を書いたとき(つまり、SaveProperty<T>()
関数が終了した後)、アプリがまだ実行されている場合、設定は に保存されてい_ApplicationSettings
ます。IsolatedStorageSettings.ApplicationSettings
これは、アプリの実行中にから読み取ることができるという私の観察と一致しています。-_ApplicationSettings
ファイルは、が廃棄されているか実行されていない場合にも存在します(電話の戻るボタンを押したままにしてアクセスできる場合、および戻るボタンでアプリを閉じた場合)。
しかし、(アプリリストを介して)アプリを再度開くと、_ApplicationSettings
ファイルは消えています...
IsolatedStorage
また、ファイルをwithに書き込んでいるときに、次のこともわかります。
SharedStorageAccessManager.CopySharedFileAsync(
Windows.Storage.ApplicationData.Current.LocalFolder, fileName+"orig",
Windows.Storage.NameCollisionOption.ReplaceExisting, fileID);
その後、このファイルを読み取らないと、次回アプリを開いたときに消えてしまいます。
ちなみに、混乱を避けるために、アプリを開くたびに再インストールしているわけではありません。
さらに情報が必要な場合は、お問い合わせください。
どんな助けでも感謝します。