Что такое App.config в C#.NET? Как его использовать?

Я выполнил проект на C#.NET, где файл базы данных представляет собой рабочую книгу Excel. Поскольку расположение строки подключения жестко закодировано в моей кодировке, нет никаких проблем для установки в моей системе, но для других систем они есть.

Есть ли способ предложить пользователю задать путь один раз после завершения установки приложения?

Я получил ответ "Использовать App.Config"... может ли кто-нибудь сказать, что такое этот App.config и как его использовать в моем контексте здесь?

Комментарии к вопросу (1)

В самом простом виде app.config - это XML-файл с множеством предопределенных разделов конфигурации и поддержкой пользовательских разделов конфигурации. Раздел "конфигурации" - это фрагмент XML со схемой, предназначенный для хранения определенного типа информации.

Параметры можно настроить с помощью встроенных разделов конфигурации, таких как connectionStrings или appSettings. Вы можете добавить свои собственные секции конфигурации; это продвинутая тема, но очень мощная для создания конфигурационных файлов с сильной типизацией.

Веб-приложения обычно имеют файл web.config, а приложения Windows GUI/service - файл app.config.

Конфигурационные файлы уровня приложения наследуют настройки от глобальных конфигурационных файлов, например, machine.config.

Чтение из App.Config

Строки соединений имеют предопределенную схему, которую вы можете использовать. Обратите внимание, что этот небольшой фрагмент на самом деле является действительным файлом app.config (или web.config):

<?xml version="1.0"?>




После того как вы определили свой app.config, вы можете прочитать его в коде с помощью класса ConfigurationManager. Не пугайтесь многословных примеров MSDN; на самом деле это довольно просто.

string connectionString = ConfigurationManager.ConnectionStrings["MyKey"].ConnectionString;

Запись в App.Config

Частое изменение файлов *.config обычно не является хорошей идеей, но похоже, что вы хотите выполнить только одноразовую настройку.

Смотрите: https://stackoverflow.com/q/502411/453277, где описано, как обновлять секцию connectionStrings файла *.config во время выполнения.

Обратите внимание, что в идеале вы должны выполнять такие изменения конфигурации из простой программы установки.

Расположение App.Config во время выполнения

*Q: Предположим, я вручную изменяю некоторое `` в app.config, сохраняю его и затем закрываю. Теперь, когда я перехожу в папку bin и запускаю отсюда .exe-файл, почему он не отражает внесенные изменения?

A: Когда вы компилируете приложение, его app.config копируется в каталог bin1 с именем, соответствующим вашему exe. Например, если ваш exe был назван "test.exe", в каталоге bin должен быть "text.exe.config". Вы можете изменить конфигурацию без перекомпиляции, но вам нужно будет отредактировать файл конфигурации, который был создан во время компиляции, а не исходный app.config.

1: Обратите внимание, что файлы web.config не перемещаются, а остаются в том же месте во время компиляции и развертывания. Исключением является случай, когда web.config преобразован.

.NET Core

В .NET Core были введены новые параметры конфигурации. Способ работы с файлами *.config, похоже, не изменился, но разработчики могут выбирать новые, более гибкие парадигмы конфигурации.

Комментарии (2)

Просто, Приложение.конфигурация - это данных " XML " файла на основе формата, который содержит настройки уровень приложения.

Пример:

<?xml version="1.0"?>




Вы можете получить доступ к конфигурации с использованием конфигурации как показано на фрагмент фрагмент кода ниже:

var value = System.Configuration.ConfigurationManager.AppSettings["key"];
// value is now "test"

Примечание: ConfigurationSettings является устаревшим методом, чтобы получить сведения о конфигурации.

var value = System.Configuration.ConfigurationSettings.AppSettings["key"];
Комментарии (4)

Просто добавить что-то я пропала из всех ответов - даже если это кажется глупым и очевидным, как только вы знаете:

Файл должен быть назван и"Приложение.конфигурация" или "Приложение.конфигурация" и может быть расположен в вашем проекте на том же уровне, например, программа.ЗС.

Я не знаю, если в других местах возможны, другие названия (например, приложение.конф, как предложено в ODP.net документации) не работает для меня.

ПС. Я начал с помощью Visual Studio кода, и создали новый проект с "dotnet ограничителя новых и". Нет конфигурационный файл создается в этом случае, я уверен, бывают и другие случаи. ППС. Вы можете добавить NuGet-пакет, чтобы иметь возможность прочитать файл конфигурации, в случае .Чистая ядра это может быть "dotnet ограничителя добавить систему пакетов.Конфигурации.Конфигурации --версия 4.5.0 и"

Комментарии (0)

App.Config - это XML-файл, который используется в качестве файла конфигурации для вашего приложения. Другими словами, вы храните в нем любые настройки, которые вы можете захотеть изменить без необходимости изменения кода (и перекомпиляции). Он часто используется для хранения строк подключения.

О том, как это сделать, читайте в этой статье MSDN.

Комментарии (0)

Вы можете получить доступ к ключам в App.Config с помощью:

ConfigurationSettings.AppSettings["KeyName"]

Взгляните на эту тему

Комментарии (1)