.net - فيجوال - لغة vb net




أبسط طريقة للحصول على ملف التكوين في تطبيق Windows Forms C# (8)

System.Configuration.ConfigurationSettings.AppSettings [ "MyKey"]؛

تم إيقاف AppSettings ويعتبر الآن عفا عليه الزمن. [ link ]

بالإضافة إلى ذلك ، تم استبدال قسم appSettings في app.config بقسم ApplicationSettings.

كما ذكر شخص آخر ، يجب أن تستخدم System.Configuration.ConfigurationManager [ link ] وهو جديد لـ .Net 2.0

أنا حقا جديدة ل. NET وأنا ما زلت لم تحصل على تعليق حول كيفية عمل ملفات التكوين.

في كل مرة أبحث فيها على google عن ذلك ، أحصل على نتائج حول web.config ، لكنني أكتب تطبيق نماذج النوافذ.

فكنت أحسب أنني بحاجة إلى استخدام مساحة الاسم System.Configuration ولكن الوثائق لا تساعد.

كيف يمكنني تحديد أن ملف التهيئة الخاص بي هو XYZ.xml؟ أو هل يحتوي على اسم "افتراضي" لملف التهيئة؟ ما زلت لم أفهم ذلك

كذلك ، كيف يمكنني تحديد قسم جديد ، هل أحتاج حقًا لإنشاء فصل يرث من ConfigurationSection؟

أرغب في الحصول على ملف تهيئة يحتوي على بعض القيم مثل:

<MyCustomValue>1</MyCustomValue>
<MyCustomPath>C:\Some\Path\Here</MyCustomPath>

هل هناك طريقة بسيطة للقيام بذلك؟ هل يمكن أن تشرح بطريقة بسيطة القراءة والكتابة من / إلى ملف تكوين بسيط؟


أتفق مع الإجابات الأخرى التي تشير إلى app.config. ومع ذلك ، بدلاً من قراءة القيم مباشرة من app.config ، يجب إنشاء فئة الأداة المساعدة (AppSettings هو الاسم الذي أستخدمه) لقراءتها وعرضها كخصائص. يمكن استخدام فئة AppSettings لتجميع الإعدادات من عدة متاجر ، مثل القيم من app.config ومعلومات إصدار التطبيق من التجميع (AssemblyVersion و AssemblyFileVersion).


الاسم الافتراضي لملف التكوين هو [yourexe] .exe.config. لذلك سوف يكون notepad.exe ملف تكوين يسمى notepad.exe.config ، في نفس المجلد مثل البرنامج. هذا ملف تكوين عام لجميع جوانب CLR والإطار ، ولكن يمكن أن يحتوي على إعداداتك الخاصة ضمن عقدة <appSettings> .

ينشئ عنصر <appSettings> مجموعة من أزواج الاسم-القيمة التي يمكن الوصول إليها كـ System.Configuration.ConfigurationSettings.AppSettings . لا توجد طريقة لحفظ التغييرات مرة أخرى إلى ملف التكوين ، ولكن.

من الممكن أيضًا إضافة عناصر مخصصة إلى ملف تهيئة - على سبيل المثال ، لتحديد إعداد منظم - عن طريق إنشاء فصل يقوم بتطبيق <configSections> عنصر <configSections> في ملف التكوين. يمكنك الوصول إليه بعد ذلك عن طريق استدعاء ConfigurationSettings.GetConfig .

يضيف .NET 2.0 فئة جديدة ، System.Configuration.ConfigurationManager ، والتي تدعم عدة ملفات ، مع تجاوز المستخدم لكل بيانات النظام. كما يدعم حفظ تكوينات معدلة مرة أخرى إلى ملفات الإعدادات.

يقوم Visual Studio بإنشاء ملف يسمى App.config ، والذي يقوم بنسخه إلى المجلد EXE ، بالاسم الصحيح ، عند إنشاء المشروع.


تريد استخدام App.Config.

عند إضافة عنصر جديد إلى مشروع ، هناك شيء يسمى ملف تكوين التطبيقات. أضف ذلك.

ثم تقوم بإضافة مفاتيح في قسم التكوين / appsettings

مثل:

<configuration>
 <appSettings>
  <add key="MyKey" value="false"/>

الوصول إلى الأعضاء عن طريق القيام به

System.Configuration.ConfigurationSettings.AppSettings["MyKey"];

هذا يعمل في .net 2 وما فوقها.



في نماذج Windows ، لديك app.config ، وهو مشابه جدًا لـ web.config . ولكن بما أن ما أراه بحاجة إليه هو قيم مخصصة ، أقترح استخدام الإعدادات. للقيام بذلك ، افتح خصائص المشروع ، ثم انتقل إلى الإعدادات. في حالة عدم وجود ملف إعدادات ، سيكون لديك رابط لإنشاء واحد. بعد ذلك ، يمكنك إضافة الإعدادات إلى الجدول الذي تراه هناك ، مما يؤدي إلى إنشاء XML المناسب ، وفئة الإعدادات التي يمكن استخدامها لتحميل الإعدادات وحفظها. سيتم تسمية فئة الإعدادات بشيء مثل DefaultNamespace.Properties.Settings . بعد ذلك ، يمكنك استخدام رمز مشابه لـ:

using DefaultNamespace.Properties;

namespace DefaultNamespace {
    class Class {
        public int LoadMySettingValue() {
            return Settings.Default.MySettingValue;
        }
        public void SaveMySettingValue(int value) {
            Settings.Default.MySettingValue = value;
        }
    }
}

من قراءة سريعة للإجابات السابقة ، تبدو صحيحة ، ولكن لا يبدو أن أي شخص ذكر مرافق التكوين الجديدة في VS 2008. لا يزال يستخدم app.config (نسخ في وقت التحويل إلى YourAppName.exe.config) ، ولكن هناك عنصر واجهة مستخدم لضبط الخصائص وتحديد أنواعها. انقر نقرًا مزدوجًا فوق إعدادات Settings.settings في مجلد "الخصائص" الخاص بمشروعك.

أفضل جزء هو أن الوصول إلى هذه الخاصية من التعليمات البرمجية هو typesafe - سيكتشف المجمع أخطاء واضحة مثل mistyping اسم الخاصية. على سبيل المثال ، يمكن الوصول إلى خاصية تسمى MyConnectionString في app.config مثل:

string s = Properties.Settings.Default.MyConnectionString;

يجب إنشاء ملف App.config (تشبه إلى حد كبير web.config)

يجب النقر بزر الماوس الأيمن على مشروعك ، وإضافة عنصر جديد ، "ملف تكوين التطبيق" الجديد.

تأكد من إضافة باستخدام System.Configuration إلى مشروعك.

ثم يمكنك إضافة قيم إليها

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="setting1" value="key"/>
  </appSettings>
  <connectionStrings>
    <add name="prod" connectionString="YourConnectionString"/>
  </connectionStrings>
</configuration>
    private void Form1_Load(object sender, EventArgs e)
    {
        string setting = ConfigurationManager.AppSettings["setting1"];
        string conn = ConfigurationManager.ConnectionStrings["prod"].ConnectionString;
    }

ملاحظة بسيطة ، وفقًا لـ Microsoft ، يجب عليك استخدام ConfigurationManager بدلاً من ConfigurationSettings. (راجع قسم الملاحظات) "الفئة ConfigurationSettings توفر التوافق مع الإصدارات السابقة فقط. بالنسبة للتطبيقات الجديدة ، يجب استخدام فئة ConfigurationManager أو فئة WebConfigurationManager بدلاً من ذلك."







configuration