أين بيانات عن خصائص.الإعدادات.الافتراضي حفظها ؟

StackOverflow https://stackoverflow.com/questions/1804302

  •  05-07-2019
  •  | 
  •  

سؤال

في تطبيق WPF, كنت اضغط على الإعدادات.الإعدادات في "مستكشف الحلول" ثم أدخل StringCollection متغير مع المستخدم نطاق:

alt text

في بلدي التطبيق.التكوين أرى أن يتم حفظها هناك:

<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

ولكن ننظر في بلدي التطبيق.التكوين مرة أخرى وأنه لا يزال لديه القيم الأصلية:

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

المسار الكامل يعتمد التطبيق.

في ويندوز 7 بدون التجوال الشخصي مع تطبيق نماذج Windows اسمه Example.Settings.CustomClass أنا على الحصول على المجلد التالي:

C:\Users\[user]\AppData\Local\Microsoft\Example.Settings.CustomCl_Url_3qoqzcgn1lbyw2zx3oz1o3rsw2anyjsn\1.0.0.0

لاحظ أيضا أن يتم حفظها مع الأخذ في الاعتبار الإصدار من التطبيق الخاص بك و أن القيم المخزنة في App.config هي القيم الافتراضية المستخدمة على مستخدم جديد.

نصائح أخرى

كنت أبحث تحت فوز 10 الإعدادات.إذا كان أي شخص آخر بحاجة إلى معرفة, لا يتم تخزينها في مجلد فرعي من مايكروسوفت (انظر الإجابة السابقة).فقط انظر هنا:

C:\Users\[user]\AppData\Local\Example\Example...\1.0.0.0\
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top