簡體   English   中英

Properties.Settings.Default 的數據保存在哪里?

[英]Where is the data for Properties.Settings.Default saved?

在我的 WPF 應用程序中,我單擊解決方案資源管理器中的Settings.settings並輸入一個具有用戶范圍的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 ,它仍然具有原始值

<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>

應用程序添加的值在哪里保存?

由於您選擇了用戶范圍,因此它們保存在每個用戶配置文件目錄中,更具體地說,保存在用戶配置文件的AppData文件夾中名為user.config的文件中。

完整路徑取決於應用程序。

在沒有漫游配置文件和名為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\

我偶然發現了一種找到路徑的簡單方法。

  1. 打開應用程序屬性。
  2. 在“應用程序”選項卡下,選擇“程序集信息...”。
  3. 更改“公司”的值。 選擇確定以保存。
  4. 選擇“設置”應用程序屬性選項卡。
  5. 選擇“同步”(選項卡頂部選項中的第一個按鈕)。
    然后,您應該會收到一個 Visual Studio 信息對話框,提示“在以下任何位置均未找到 user.config 文件:”,然后是保存設置的位置列表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM