Найпростіше, app.config - це файл XML з безліччю попередньо визначених розділів конфігурації та підтримкою користувацьких розділів конфігурації. "Конфігураційний розділ" - це фрагмент XML зі схемою, призначеною для зберігання певного типу інформації.
Параметри можна налаштувати за допомогою вбудованих розділів конфігурації, таких як connectionStrings
або appSettings
. Ви можете додати власні розділи конфігурації; це розширена тема, але дуже потужна для створення сильно набраних файлів конфігурації.
У веб-програмах зазвичай є web.config, а у програмах Windows GUI / службі - файл app.config.
Конфігураційні файли рівня додатків успадковують налаштування з глобальних файлів конфігурації, наприклад, machine.config.
Читання з програми App.Config
Рядки підключення мають заздалегідь задану схему, яку ви можете використовувати. Зауважте, що цей маленький фрагмент - це дійсно дійсний файл app.config (або web.config):
<?xml version="1.0"?>
<configuration>
<connectionStrings>
<add name="MyKey"
connectionString="Data Source=localhost;Initial Catalog=ABC;"
providerName="System.Data.SqlClient"/>
</connectionStrings>
</configuration>
Визначивши свою програму app.config, ви можете прочитати її в коді за допомогою класу ConfigurationManager . Не залякуйте багатослівними прикладами MSDN; насправді це досить просто.
string connectionString = ConfigurationManager.ConnectionStrings["MyKey"].ConnectionString;
Написання в App.Config
Часто змінювати * .config файли, як правило, не є хорошою ідеєю, але це здається, що ви хочете виконати одноразове налаштування.
Див.: Змінити рядок з'єднання та перезавантажити app.config під час виконання, який описує, як оновити connectionStrings
розділ * .config під час виконання.
Зауважте, що в ідеалі ви б змінили конфігурацію у простому інсталяторі.
Розташування App.Config під час виконання
З : Припустимо, я вручну змінити деякі <value>
в app.config, зберегти та закрити. Тепер, коли я переходжу до своєї папки бін і запускаю тут файл .exe, чому він не відображає застосовані зміни?
Відповідь : Коли ви складаєте програму, її app.config копіюється в каталог 1, з іменем, яке відповідає вашому файлу exe. Наприклад, якщо ваш exe був названий "test.exe", у вашому каталозі бін повинен бути "text.exe.config". Ви можете змінити конфігурацію без перекомпіляції, але вам потрібно буде відредагувати конфігураційний файл, створений під час компіляції, а не оригінальний app.config.
1: Зауважте, що файли web.config не переміщуються, а натомість залишаються в одному місці під час компіляції та розгортання. Один виняток із цього - коли трансформується web.config .
.NET Core
Були представлені нові параметри конфігурації з .NET Core. Спосіб роботи файлів * .config, схоже, не змінився, але розробники вільні вибирати нові, більш гнучкі парадигми конфігурації.