App config c как добавить
Перейти к содержимому

App config c как добавить

Практическое руководство. Добавление файла конфигурации приложения в проект C#

Добавив файл конфигурации приложения (файл app.config) в проект C#, вы можете настроить способ, которым общеязыковая среда выполнения будет находить и загружать файлы сборки. Дополнительные сведения о файлах конфигурации приложения см. в статье Обнаружение сборок в среде выполнения (.NET Framework).

Приложения UWP не содержат файл app.config.

При сборке проекта среда разработки автоматически копирует файл app.config, изменяет имя копии файла в соответствии с исполняемым файлом, а затем перемещает копию в каталог bin.

Добавление файла конфигурации приложения в проект C#

В обозревателе решений щелкните правой кнопкой мыши узел проекта и выберите команду «Добавить>новый элемент«.

Откроется диалоговое окно Добавление нового элемента.

Разверните установленные>элементы Visual C#.

Выберите шаблон Файл конфигурации приложения в средней панели.

App config c как добавить

При работе с корпоративными проектами нужно создавать приложения разного рода. Например, проект может содержать несколько веб-сайтов, WCF-сервисы, Silverlight-приложения, Windows-сервисы или консольные утилиты. Все эти приложения нужно будет включить в Continuous Integration, чтобы выпуск версий для тестового сервера и боевого производился в автоматическом режиме. У всех этих приложений есть файлы настроек, которые обычно хранятся в App.config или других XML-подобных файлах. Для разных версий приложений мы должны хранить свои строки подключения к БД, ссылки к сторонним сервисам, SMTP-хостам, задавать разные уровни логирования и т.п.

Мы уже рассмотрели, как работать с Web.config, как писать для него трансформацию, что такое трансформация и как она встраивается в процесс сборки проекта. Продолжим эту тему рассмотрением работы с App.config.

Создание App.config для каждой конфигурации

Для примера я создал два проекта: Консольное приложение и WPF приложение. В обоих проектах используются App.config и изначально они выглядят так:

В солюшене по-умолчанию есть две конфигурации и я сразу добавил еще одну (как добавлять конфигурацию мы рассматривали в статье Continuous Integration: Создание собственной конфигурации):

Для каждой конфигурации сборки мы создадим файл трансформации. Первое, что надо сделать — создать 3 файла: App.Debug.config, App.UAT.config, App.Release.config.

Теперь сделаем, чтобы эти файлы конфиугаций красиво отображались в дереве солюшена. Для этого откроем файл проекта в текстом редакторе и добавим в секцию с App.cofing XML-код:

ConsoleApp.csproj:

После обновления файла проекта Visual Studio отобразит наши файлы:

Описываем трансформацию в App.config

Мы создали файл трансформации для каждой конфигурации сборки. Для примера я добавил трансформации ключа в секции appSettings.

App.Debug.config:

App.Release.config:

App.UAT.config:

Обратите внимание на указание пространства имен: xmlns:xdt=»http://schemas.microsoft.com/XML-Document-Transform»

В примере мы используем Replace для замены всего нода в XML, но кроме полной замены TransformXml поддержиет и другие трасформации. Более подробно о них на MSDN.

Включаем трансформацию App.config

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

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

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

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

Ответы, которые я получил, это “Use App.Config”… может ли кто-нибудь сказать, что это за App.config и как его использовать в моем контексте здесь?

В своем простейшем случае app.config представляет собой XML файл с множеством предопределенных разделов конфигурации и поддерживает настраиваемые разделы конфигурации. Раздел “Конфигурация” представляет собой фрагмент XML со схемой, предназначенной для хранения некоторого типа информации.

  • Обзор (MSDN)
  • Конфигурация строки подключения (MSDN)

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

Веб-приложения обычно имеют файл web.config, в то время как графические пользовательские приложения Windows имеют файл app.config.

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

Чтение из App.Config

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

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

Запись в App.Config

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

Смотрите: Измените строку подключения и перезагрузите app.config во время выполнения, в котором описывается, как обновить раздел connectionStrings файла *.config во время выполнения.

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

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

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

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

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

.NET Core

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

  • Конфигурация в ядре ASP.NET
  • Essential.NET – Конфигурация в .NET Core

Проще говоря, App.config – это XML файла на основе XML , который содержит конфигурации уровня приложения.

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

Примечание. ConfigurationSettings – это устаревший метод для получения информации о конфигурации.

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

Посмотрите эту статью MSDN о том, как это сделать.

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

Добавить комментарий

Ваш адрес email не будет опубликован.