Ваша відповідь за неручне створення app.config - це вкладка Властивості / налаштування проекту Visual Studio.
Коли ви додасте налаштування та збережете, ваш app.config буде створений автоматично. На цьому етапі в просторі імен { yourclasslibrary .Properties} генерується купа коду, що містить властивості, що відповідають вашим налаштуванням. Самі налаштування будуть розміщені в налаштуваннях програми app.config.
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="ClassLibrary.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup>
</configSections>
<applicationSettings>
<ClassLibrary.Properties.Settings>
<setting name="Setting1" serializeAs="String">
<value>3</value>
</setting>
</BookOneGenerator.Properties.Settings>
</applicationSettings>
Якщо ви додали налаштування сфери застосування, яке називається Setting1 = 3, тоді буде створено властивість Setting1. Ці властивості стають частиною компіляції двійкового файлу, і вони прикрашені DefaultSettingValueAttribute, якому встановлено значення, яке ви вказали під час розробки.
[ApplicationScopedSetting]
[DebuggerNonUserCode]
[DefaultSettingValue("3")]
public string Setting1
{
get
{
return (string)this["Setting1"];
}
}
Таким чином, як і в коді бібліотеки класів, ви використовуєте ці властивості, якщо відповідний параметр не існує у конфігураційному файлі середовища виконання, для резервного використання буде використано значення за замовчуванням. Таким чином додаток не вийде з ладу через відсутність параметра налаштування, що дуже бентежить перший раз, коли ви не знаєте, як ці речі працюють. Тепер ви задаєтеся питанням, як можна вказати наше власне нове значення в розгорнутій бібліотеці та уникнути використання значення за замовчуванням?
Це станеться, коли ми правильно налаштуємо виконуваний файл app.config. Два кроки. 1. ми усвідомлюємо, що у нас буде розділ налаштувань для цієї бібліотеки класів; 2. з невеликими змінами ми вставляємо конфігураційний файл бібліотеки класів у виконуваний конфігураційний файл. (існує метод, за допомогою якого ви можете зберігати конфігураційний файл бібліотеки класів зовнішнім, і ви просто посилаєтесь на нього з конфігурації виконуваного файлу.
Отже, ви можете мати app.config для бібліотеки класів, але це марно, якщо ви неправильно інтегруєте його з батьківським додатком. Подивіться тут, що я писав колись тому: посилання