Настройка приложений с использованием файлов конфигурации

платформа .NET Framework позволяет разработчикам и администраторам контролировать и гибко управлять тем, как приложения выполняются с помощью файлов конфигурации. Файлы конфигурации имеют формат XML, и при необходимости их можно изменять. Администратор может контролировать, к каким из защищенных ресурсов может осуществлять доступ приложение, какие оно будет использовать версии сборок и где расположены удаленные объекты и приложения. Разработчики могут задавать параметры в файлах конфигурации, устраняя необходимость в перекомпиляции приложения при каждом изменении той или иной установки. В этом разделе рассказывается, какие параметры могут быть настроены и для чего может потребоваться настройка приложения.

Примечание

С помощью классов из пространства имен System.Configuration управляемый код может считывать установки из конфигурационных файлов, но не записывать их в эти файлы.

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

Формат файлов конфигурации

Файлы конфигурации состоят из элементов, которые являются логическими структурами данных, задающими сведения о конфигурации. Начало и конец каждого элемента в файле конфигурации отмечены специальными тегами. Например, <runtime> элемент состоит из дочерних <runtime>элементов</runtime>. Пустой элемент будет записан как <runtime/> или <runtime></runtime>.

Как и во всех XML-файлах, в файлах конфигурации учитывается регистр.

Параметры конфигурации задаются с помощью предварительно определенных атрибутов (пар имя-значение) в открывающем теге элемента. В следующем примере заданы два атрибута (version и href) элемента <codeBase>, определяющие для среды выполнения расположение сборок (дополнительные сведения см. в разделе Указание расположения сборки).

<codeBase version="2.0.0.0"  
          href="http://www.litwareinc.com/myAssembly.dll"/>  

Файлы конфигурации компьютера

Файл конфигурации компьютера Machine.configсодержит параметры, которые применяются ко всему компьютеру. Этот файл находится в каталоге %путь установки среды выполнения%\Config. Machine.config содержит параметры конфигурации для привязки сборки на уровне компьютера, встроенных каналов удаленного взаимодействия и ASP.NET.

Система конфигурации сначала ищет файл конфигурации компьютера для <элемента appSettings> и других разделов конфигурации, которые разработчик может определить. Затем поиск выполняется в файле конфигурации приложения. Для облегчения управления файлом конфигурации компьютера рекомендуется переместить эти параметры в файл конфигурации приложения. Однако размещение параметров в файле конфигурации компьютера упрощает управление системой. Например, при наличии компонентов сторонних производителей, используемых сервером и клиентами, рекомендуется разместить параметры этих компонентов в одном файле. В этом случае следует задавать параметры в файле конфигурации компьютера, чтобы не дублировать параметры в разных файлах.

Примечание

При развертывании приложения с помощью команды XCOPY файл конфигурации компьютера не копируется.

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

Файлы конфигурации приложения

В файле конфигурации приложения находятся параметры приложения. В этом файле содержатся параметры конфигурации, считываемые средой CLR (например, политика привязки сборок, удаленные объекты и т. д.) и приложением.

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

  • Приложение, размещенное в исполняемом файле.

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

    При разработке в Visual Studio разместите исходный файл конфигурации приложения в каталоге проекта и установите для его свойства Копировать в выходной каталог значение Всегда копировать или Копировать, если новее. По умолчанию имя файла конфигурации — App.config.

    Чтобы создать выходной файл конфигурации, развернутый с помощью приложения, Visual Studio копирует исходный файл конфигурации в каталог, в который размещается скомпилированная сборка. Этот файл называется <yourappname>.exe.config. Например, приложение с именем myApp.exe будет иметь выходной файл конфигурации с именемmyApp.exe.config.

    В некоторых случаях Visual Studio может изменить выходной файл конфигурации; дополнительные сведения см. в разделе Перенаправление версий сборки на уровне приложения статьи Перенаправление версий сборки.

  • Приложение, размещенное в ASP.NET.

    Дополнительные сведения о файлах конфигурации ASP.NET см. в Параметры ASP.NET конфигурации.

  • Приложение, размещенное в Internet Explorer.

    Если приложение, размещенное в Internet Explorer, имеет файл конфигурации, расположение этого файла указывается в теге со следующим синтаксисом <link> : <link rel="*ConfigurationFileName*" href="*location*">

    В этом теге location — это URL-адрес файла конфигурации. Таким образом задается базовая папка приложения. Файл конфигурации должен находиться на том же веб-сайте, что и приложение.

Файлы конфигурации безопасности

В файлах конфигурации безопасности содержатся сведения об иерархии групп кода и наборах разрешений, связанных с уровнем политики. Для изменения политики безопасности настоятельно рекомендуется использовать средство политики безопасности доступа кода (Caspol.exe), что гарантирует целостность файлов конфигурации безопасности.

Примечание

Начиная с платформа .NET Framework 4 файлы конфигурации безопасности присутствуют только в том случае, если политика безопасности была изменена.

Ниже приведено расположение файлов конфигурации безопасности.

  • Файл конфигурации политики предприятия: %путь-установки-среды-выполнения%\Config\Enterprisesec.config

  • Файл конфигурации политики компьютера: %путь-установки-среды-выполнения%\Config\Security.config

  • Файл конфигурации политики пользователя: %USERPROFILE%\Application data\Microsoft\CLR security config\vxx.xx\Security.config

См. также