Properties.Settings.Defaultのデータはどこに保存されますか?
質問
WPFアプリケーションで、ソリューションエクスプローラーで[ Settings.settings ]をクリックし、 User スコープで StringCollection 変数を入力します:
app.configに保存されていることがわかります:
<userSettings>
<TestSettings.Properties.Settings>
<setting name="Paths" serializeAs="Xml">
<value>
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<string>one</string>
<string>two</string>
<string>three</string>
<string>four</string>
<string>five</string>
<string>six</string>
<string>seven</string>
</ArrayOfString>
</value>
</setting>
</TestSettings.Properties.Settings>
</userSettings>
次に、アプリケーションを実行し、次のコードを使用します:
StringCollection paths = Properties.Settings.Default.Paths;
Properties.Settings.Default.Paths.Add("added in code");
Properties.Settings.Default.Save();
foreach (var path in paths)
{
System.Console.WriteLine(path);
}
これにより、この出力が得られます。
one
two
three
four
five
six
seven
added in code
アプリケーションを再度実行すると、次の出力が表示されます:
one
two
three
four
five
six
seven
added in code
added in code
しかし、 app.config をもう一度確認すると、まだ元の値が残っています:
<*>保存中のアプリケーションによって追加される値はどこにありますか
解決
ユーザースコープを選択したため、各ユーザープロファイルディレクトリ、より具体的には、AppData
という名前のファイルのユーザープロファイルのuser.config
フォルダー内に保存されます。
フルパスはアプリケーションに依存しています。
移動プロファイルなしのWindows 7で、Example.Settings.CustomClass
という名前のWindows Formsアプリケーションを使用すると、次のフォルダーが取得されます:
C:\Users\[user]\AppData\Local\Microsoft\Example.Settings.CustomCl_Url_3qoqzcgn1lbyw2zx3oz1o3rsw2anyjsn\1.0.0.0
また、アプリケーションのバージョンを考慮して保存されていること、およびApp.config
に保存されている値が新しいユーザーに使用されるデフォルト値であることにも注意してください。
他のヒント
Win 10で設定を探していました。他の誰かが知る必要がある場合、それらはMicrosoftのサブフォルダーに保存されません(前の回答を参照)。ここを見てください:
C:\Users\[user]\AppData\Local\Example\Example...\1.0.0.0\
所属していません StackOverflow