जवाबों:
यह इस बात पर निर्भर करता है कि आपके द्वारा चुनी गई सेटिंग "उपयोगकर्ता" के दायरे या "एप्लिकेशन" के दायरे में है।
उपयोगकर्ता गुंजाइश सेटिंग्स में संग्रहीत हैं
C: \ Documents and Settings \ username \ Local Settings \ Application Data \ ApplicationName
आप उन्हें रनटाइम पर पढ़ / लिख सकते हैं।
विस्टा और विंडोज 7 के लिए, फ़ोल्डर है
C: \ Users \ username \ AppData \ Local \ ApplicationName
या
C: \ Users \ username \ AppData \ Roaming \ ApplicationName
एप्लिकेशन स्कोप सेटिंग को सहेजा जाता है AppName.exe.config
और वे रनटाइम पर आसानी से पढ़े जाते हैं।
यहाँ वह स्निपेट है जिसे आप प्रोग्राम करने के लिए user.config फ़ाइल स्थान प्राप्त करने के लिए उपयोग कर सकते हैं:
public static string GetDefaultExeConfigPath(ConfigurationUserLevel userLevel)
{
try
{
var UserConfig = ConfigurationManager.OpenExeConfiguration(userLevel);
return UserConfig.FilePath;
}
catch (ConfigurationException e)
{
return e.Filename;
}
}
ApplicationSettings (यानी settings.settings) डिफ़ॉल्ट रूप से उपयोगकर्ता सेटिंग्स के लिए PerUserRoamingAndLocal का उपयोग करें (जैसा कि मुझे याद है)।
अद्यतन: अजीब लेकिन यहाँ बहुत सारे गलत उत्तर हैं। यदि आप आप उपयोगकर्ता की स्कॉप्ड सेटिंग्स फ़ाइल (user.config) की तलाश कर रहे हैं, तो यह निम्नलिखित फ़ोल्डर में स्थित होगा (XP XP के लिए):
C: \ Documents and Settings (उपयोगकर्ता नाम) \ Local Settings \ Application Data \ (company-name-if-मौजूद) \ _ (app-name) .exe_ (Url | StrongName) _ (हैश) \ (ऐप-संस्करण) \
Url या StrongName आपके पास असेंबली स्ट्रॉन्ग नेम या नहीं एप्लीकेशन पर निर्भर करता है।
यह मानते हुए कि आप डेस्कटॉप के बारे में बात कर रहे हैं न कि वेब एप्लिकेशन:
जब आप किसी प्रोजेक्ट में सेटिंग्स जोड़ते हैं, तो VS app.config
आपके प्रोजेक्ट डायरेक्टरी में एक फाइल बनाता है और उस फाइल में सेटिंग्स को स्टोर करता है। यह उस Settings.cs
फ़ाइल को भी बनाता है जो व्यक्तिगत सेटिंग्स को स्थिर एक्सेसर्स प्रदान करती है।
संकलित समय पर, वी.एस. डिफ़ॉल्ट रूप से (आप इसे बदल सकते हैं) app.config
बिल्ड डायरेक्टरी में कॉपी कर सकते हैं , निष्पादन योग्य से मिलान करने के लिए इसका नाम बदल सकते हैं (जैसे यदि आपका निष्पादन योग्य नाम दिया गया है foo.exe
, तो फ़ाइल का नाम होगा foo.exe.config
), जो नाम है। नेट कॉन्फ़िगरेशन प्रबंधक तब दिखता है जब यह रनटाइम पर सेटिंग्स को पुनः प्राप्त करता है।
यदि आप वीएस सेटिंग्स संपादक के माध्यम से एक सेटिंग बदलते हैं, तो यह दोनों app.config
और अपडेट करेगा Settings.cs
। (यदि आप जनरेट किए गए कोड में प्रॉपर्टी ऐक्सेसर्स को Settings.cs
देखते हैं, तो आप देखेंगे कि वे एक विशेषता के साथ चिह्नित हैं जिसमें सेटिंग का डिफ़ॉल्ट मान है जो आपकी app.config
फ़ाइल में है।) यदि आप app.config
फ़ाइल को सीधे संपादित करके सेटिंग बदलते हैं। Settings.cs
अपडेट नहीं किया जाएगा, लेकिन जब आप इसे चलाते हैं, तो नया मान आपके प्रोग्राम द्वारा उपयोग किया जाएगा, क्योंकि संकलन समय पर app.config
कॉपी हो जाता है foo.exe.config
। यदि आप इसे बंद करते हैं (फ़ाइल के गुणों को सेट करके), तो आप foo.exe.config
फ़ाइल को सीधे निर्माण निर्देशिका में संपादित करके सेटिंग बदल सकते हैं ।
फिर यूजर-स्कॉप्ड सेटिंग्स हैं।
एप्लिकेशन-स्कोप सेटिंग केवल-पढ़ने के लिए हैं। आपका प्रोग्राम उपयोगकर्ता-स्कोप सेटिंग्स को संशोधित और सहेज सकता है, इस प्रकार प्रत्येक उपयोगकर्ता को उसकी अपनी सेटिंग्स की अनुमति देता है। इन सेटिंग्स को foo.exe.config
फ़ाइल में संग्रहीत नहीं किया जाता है (चूंकि विस्टा के तहत, कम से कम, प्रोग्राम Program Files
बिना उन्नयन के किसी भी उपनिर्देशिका को नहीं लिख सकते हैं ); वे उपयोगकर्ता की एप्लिकेशन डेटा निर्देशिका में कॉन्फ़िगरेशन फ़ाइल में संग्रहीत हैं।
उस फ़ाइल का पथ है %appdata%\%publisher_name%\%program_name%\%version%\user.config
, उदा C:\Users\My Name\AppData\Local\My_Company\My_Program.exe\1.0.0\user.config
। ध्यान दें कि यदि आपने अपने प्रोग्राम को एक मजबूत नाम दिया है, तो मजबूत नाम इस पथ में प्रोग्राम नाम में जोड़ा जाएगा।
फ़ोल्डर नाम में हैश के बारे में पता लगाने के लिए ब्राउज़ करते समय, मुझे पता चला ( इस उत्तर के माध्यम से ):
http://blogs.msdn.com/b/rprabhu/archive/2005/06/29/433979.aspx
(संपादित करें: वेकबैक मशीन लिंक: https://web.archive.org/web/20160307233557/http://blogs.msdn.com:80/b/rprabhu/archive/2005/06/29/425979.aspx )
user.config
फ़ाइलों का सटीक मार्ग कुछ इस तरह दिखता है:
<Profile Directory>\<Company Name>\<App Name>_<Evidence Type>_<Evidence Hash>\<Version>\user.config
कहाँ पे
<Profile Directory>
- या तो रोमिंग प्रोफ़ाइल निर्देशिका या स्थानीय एक है। सेटिंग्स को स्थानीयuser.config
फ़ाइल में डिफ़ॉल्ट रूप से संग्रहीत किया जाता है । रोमिंग में एक सेटिंग स्टोर करने के लिएuser.config
फ़ाइल, आप के साथ सेटिंग चिह्नित करने की आवश्यकताSettingsManageabilityAttribute
के साथSettingsManageability
करने के लिए सेटRoaming
।
<Company Name>
- आम तौर पर स्ट्रिंग द्वारा निर्दिष्ट किया जाता हैAssemblyCompanyAttribute
(कैविट के साथ कि स्ट्रिंग बच जाती है और आवश्यक रूप से छंटनी होती है, और यदि विधानसभा पर निर्दिष्ट नहीं किया गया है, तो हमारे पास एक फॉलबैक प्रक्रिया है)।
<App Name>
- आम तौर पर स्ट्रिंग द्वारा निर्दिष्टAssemblyProductAttribute
(कंपनी के नाम के समान ही)।
<Evidence Type>
और<Evidence Hash>
- उचित ऐप डोमेन और असेंबली अलगाव प्रदान करने के लिए ऐप डोमेन साक्ष्य से प्राप्त जानकारी।
<Version>
- आम तौर पर में निर्दिष्ट संस्करणAssemblyVersionAttribute
। इसके लिए अगल-बगल तैनात ऐप के विभिन्न संस्करणों को अलग करना आवश्यक है।फ़ाइल का नाम हमेशा '
user.config
' है।
यह आपके एप्लिकेशन के नाम के साथ एक फ़ोल्डर में है एप्लिकेशन डेटा फ़ोल्डर में उपयोगकर्ता के घर फ़ोल्डर (C: \ दस्तावेज और सेटिंग्स \ उपयोगकर्ता पर xp और c: \ Users \ उपयोगकर्ता Windows Vista पर)।
यहाँ कुछ जानकारी भी है।
पुनश्च: - रन बॉक्स में% appdata% द्वारा इसे एक्सेस करने का प्रयास करें!
एर्म, क्या आप अपनी डिफ़ॉल्ट सेटिंग्स को पुनर्स्थापित करने के लिए Settings.Default.Reset () का उपयोग नहीं कर सकते हैं?
आपकी सभी सेटिंग्स संबंधित .config फ़ाइल में संग्रहीत हैं।
.Settings फ़ाइल बस सेटिंग्स के एक सेट के लिए एक दृढ़ता से टाइप की गई कक्षा प्रदान करती है जो एक साथ होती हैं, लेकिन वास्तविक सेटिंग्स आपके एप्लिकेशन में app.config या .config फ़ाइल में संग्रहीत होती हैं।
यदि आप एक .settings फ़ाइल जोड़ते हैं, तो एक app.config स्वचालित रूप से सेटिंग्स को घर में जोड़ देगा यदि आपके पास पहले से ही एक नहीं है।
यदि आपकी सेटिंग फ़ाइल किसी वेब ऐप में है, तो वे तह web.config फ़ाइल (आपकी परियोजना के ठीक नीचे) में होगी। यदि वे किसी अन्य प्रकार की परियोजना में हैं, तो वे ऐप में होंगे ।config फ़ाइल (आपकी परियोजना के नीचे भी) ।
संपादित करें
जैसा कि टिप्पणियों में बताया गया है: आपकी डिज़ाइन समय एप्लिकेशन सेटिंग्स वेब एप्लिकेशन के अलावा अन्य एप्लिकेशन के लिए एक app.config फ़ाइल में हैं। जब आप निर्माण करते हैं, तो app.config फ़ाइल को आउटपुट डायरेक्टरी में कॉपी किया जाता है, और इसका नाम yourexename .exe.config होगा। रनटाइम के समय, केवल yourexename.exe.config नाम की फ़ाइल पढ़ी जाएगी।
दो फ़ाइलें: 1) एक app.config या web.config फ़ाइल। टेक्स्ट एडिटर के साथ बिल्ड के बाद उसकी सेटिंग्स को कस्टमाइज़ किया जा सकता है। 2) settings.designer.cs फ़ाइल। कॉन्फ़िगरेशन फ़ाइल से सेटिंग को लोड करने के लिए इस फाइल में ऑटोजेनरेटेड कोड है, लेकिन कॉन्फिगर फाइल की खास सेटिंग नहीं होने की स्थिति में एक डिफ़ॉल्ट मान भी मौजूद होता है।
मुझे पता है कि यह पहले से ही उत्तर दिया गया है, लेकिन क्या आप अपनी डिफ़ॉल्ट सेटिंग्स पर वापस जाने के लिए सेटिंग डिजाइनर में सेटिंग्स को सिंक्रनाइज़ नहीं कर सकते हैं?