.NET- এ সেটিংস.সেটেটিং ফাইল ব্যবহার করার সময় কনফিগারেশনটি আসলে কোথায় সংরক্ষণ করা হয়? আমি ডিফল্ট অবস্থায় ফিরে যেতে সংরক্ষিত সেটিংস মুছতে চাই, তবে এটি কোথায় সঞ্চিত আছে তা খুঁজে পাচ্ছি না ... কোনও ধারণা?
.NET- এ সেটিংস.সেটেটিং ফাইল ব্যবহার করার সময় কনফিগারেশনটি আসলে কোথায় সংরক্ষণ করা হয়? আমি ডিফল্ট অবস্থায় ফিরে যেতে সংরক্ষিত সেটিংস মুছতে চাই, তবে এটি কোথায় সঞ্চিত আছে তা খুঁজে পাচ্ছি না ... কোনও ধারণা?
উত্তর:
এটি আপনার চয়ন করা সেটিংসটি "ব্যবহারকারীর" সুযোগ বা "অ্যাপ্লিকেশন" স্কোপে রয়েছে কিনা তা নির্ভর করে।
ব্যবহারকারীর স্কোপ সেটিংস সংরক্ষণ করা হয়
সি: u নথি এবং সেটিংস \ ব্যবহারকারীর নাম \ স্থানীয় সেটিংস \ অ্যাপ্লিকেশন ডেটা \ অ্যাপ্লিকেশন নাম ame
আপনি রানটাইমে এগুলি পড়তে / লিখতে পারেন।
ভিস্তা এবং উইন্ডোজ 7 এর জন্য, ফোল্ডারটি হ'ল
সি: \ ব্যবহারকারীদের \ ব্যবহারকারীর নাম \ অ্যাপডাটা \ স্থানীয় \ অ্যাপ্লিকেশননাম
বা
সি: \ ব্যবহারকারীদের \ ব্যবহারকারীর নাম \ অ্যাপডাটা \ রোমিং \ অ্যাপ্লিকেশন নাম
অ্যাপ্লিকেশন স্কোপ সেটিংস এতে সংরক্ষণ করা হয় AppName.exe.configএবং এগুলি রানটাইম এ কেবলমাত্র পঠনযোগ্য।
আপনি প্রোগ্রামালিটি ব্যবহারকারীর ফাইল কনফিগ ফাইলের অবস্থান পেতে স্নিপেটটি এখানে ব্যবহার করতে পারেন:
public static string GetDefaultExeConfigPath(ConfigurationUserLevel userLevel)
{
try
{
var UserConfig = ConfigurationManager.OpenExeConfiguration(userLevel);
return UserConfig.FilePath;
}
catch (ConfigurationException e)
{
return e.Filename;
}
}
অ্যাপ্লিকেশনসেটেটিং (যেমন সেটিংস.সেটেটিংস) ডিফল্টরূপে (যেমন আমার মনে আছে) ব্যবহারকারী সেটিংসের জন্য পেরুউসররোমিংএন্ডলোকল ব্যবহার করে।
আপডেট: অদ্ভুত তবে এখানে অনেকগুলি ভুল উত্তর রয়েছে। আপনি যদি ব্যবহারকারী স্কোপড সেটিংস ফাইল (ইউজার.কনফিগ) খুঁজছেন তবে এটি নীচের ফোল্ডারে (উইন্ডোজ এক্সপির জন্য) অবস্থিত হবে:
সি: \ ডকুমেন্টস এবং সেটিংস \ (ব্যবহারকারীর নাম) \ স্থানীয় সেটিংস \ অ্যাপ্লিকেশন ডেটা \ (সংস্থার নাম-যদি-উপস্থিত থাকে) \ (অ্যাপ্লিকেশন নাম) e (অ্যাপ্লিকেশন নাম) ex (অ্যাপ্লিকেশন নাম) _ (হ্যাশ) \ (অ্যাপ্লিকেশন সংস্করণ) \
ইউআরএল বা স্ট্রংনাম আপনার অ্যাসেম্বলিটির শক্তিশালী নাম প্রয়োগ করবেন কিনা তার উপর নির্ভর করে।
ধরে নেওয়া যে আপনি ওয়েব অ্যাপ্লিকেশন নয় ডেস্কটপ সম্পর্কে কথা বলছেন:
আপনি যখন কোনও প্রকল্পে সেটিংস যুক্ত করেন, ভিএস 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/433979.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' '
এটি ব্যবহারকারীর হোম ফোল্ডারে অ্যাপ্লিকেশন ডেটা ফোল্ডারে আপনার অ্যাপ্লিকেশনটির নাম সহ একটি ফোল্ডারে রয়েছে (সি: \ নথি এবং সেটিংস x এক্সপি এবং সি: \ ব্যবহারকারী Windows ব্যবহারকারী Windows ব্যবহারকারী) উইন্ডোজ ভিস্তার ব্যবহারকারী)।
এখানেও কিছু তথ্য রয়েছে।
পিএস: - রান বাক্সে এটি% অ্যাপডাটা% দিয়ে অ্যাক্সেস করার চেষ্টা করুন!
হ্যাঁ, আপনি কি কেবল ডিফল্ট সেটিংসটি পুনরুদ্ধার করতে সেটিংস ব্যবহার করতে পারবেন না?
আপনার সমস্ত সেটিংস সম্পর্কিত। কনফিগ ফাইলে সংরক্ষিত আছে।
.Settings ফাইলটি কেবল একত্রে অন্তর্ভুক্ত সেটিংগুলির সেটগুলির জন্য দৃ strongly়ভাবে টাইপ করা শ্রেণীর সরবরাহ করে তবে প্রকৃত সেটিংসটি আপনার অ্যাপ্লিকেশনটিতে app.config বা একটি .config ফাইলে সঞ্চিত থাকে।
আপনি যদি একটি। সেটিং ফাইল যুক্ত করেন, যদি আপনার কাছে ইতিমধ্যে একটি না থাকে তবে একটি app.config সেটিংসটিতে স্বয়ংক্রিয়ভাবে যুক্ত হবে।
যদি আপনার সেটিংস ফাইলটি কোনও ওয়েব অ্যাপ্লিকেশনটিতে থাকে, তারা তেমন ওয়েব কোডফাইগ ফাইলে থাকবে (আপনার প্রকল্পের ঠিক নীচে they তারা যদি অন্য কোনও প্রজেক্টে থাকে তবে এগুলি অ্যাপকনফিগ ফাইলে থাকবে (আপনার প্রকল্পের নীচেও)) ।
সম্পাদনা করুন
মতামত হিসাবে ইশারা করা হয়েছে: আপনার নকশা সময় অ্যাপ্লিকেশন সেটিংস ওয়েব অ্যাপ্লিকেশন ব্যতীত অন্যান্য অ্যাপ্লিকেশনগুলির জন্য একটি app.config ফাইলে রয়েছে। আপনি যখন বিল্ড করবেন তখন অ্যাপ.config ফাইলটি আউটপুট ডিরেক্টরিতে অনুলিপি করা হবে এবং আপনার নাম রাখা হবে yourexename .exe.config ig রানটাইমের সময় কেবলমাত্র yourexename.exe.config নামের ফাইলটি পড়তে হবে।
দুটি ফাইল: 1) একটি app.config বা ওয়েব কোডফাইগ ফাইল। একটি পাঠ্য সম্পাদকের সাহায্যে বিল্ড করার পরে তার সেটিংস কাস্টমাইজ করা যায়। 2) সেটিংস.ডিজাইনার.সি ফাইল। কনফিগার ফাইল থেকে সেটিংস লোড করার জন্য এই ফাইলটিতে অটোজেনেটেড কোড রয়েছে তবে কনফিগার ফাইলটিতে নির্দিষ্ট সেটিংস না থাকলে ডিফল্ট মানটি উপস্থিত থাকে।
আমি জানি এটি ইতিমধ্যে উত্তর পেয়েছে তবে আপনি কি আপনার ডিফল্ট সেটিংসে ফিরে যেতে সেটিংস ডিজাইনারের সেটিংসটিকে সিঙ্ক্রোনাইজ করতে পারবেন না?