WPFアプリケーションでは、ソリューションエクスプローラーでSettings.settingsをクリックし、StringCollectionUserスコープを持つ変数:
私の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
Iアプリケーションを再度実行し、この出力が得られます:
one
two
three
four
five
six
seven
added in code
added in code
しかし、私は再び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>
保存されるアプリケーションによって追加される値はどこですか?
ユーザースコープを選択したため、各ユーザープロファイルディレクトリ、より具体的にはuser.config
という名前のファイルのユーザープロファイルのAppData
フォルダー内に保存されます。
完全なパスはアプリケーションによって異なります。
移動プロファイルを使用せず、Example.Settings.CustomClass
という名前のWindowsフォームアプリケーションを使用するWindows 7では、次のフォルダーが取得されます。
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\