Настройка приложений с помощью файлов конфигурации
Заметка
Эта статья связана с .NET Framework. Он не применяется к более новым реализациям .NET, включая .NET 6 и более поздние версии.
Платформа .NET Framework предоставляет разработчикам и администраторам контроль и гибкость в отношении того, как приложения выполняются через файлы конфигурации. Файлы конфигурации — это XML-файлы, которые можно изменить по мере необходимости. Администратор может управлять доступом к защищенным ресурсам, к которым может получить доступ приложение, какие версии сборок будет использовать приложение, а также расположение удаленных приложений и объектов. Разработчики могут помещать параметры в файлы конфигурации, устраняя необходимость повторной компиляции приложения при каждом изменении параметра. В этом разделе описывается, что можно настроить и почему можно настроить приложение.
Заметка
Управляемый код может использовать классы в пространстве имен System.Configuration для чтения параметров из файлов конфигурации, но не для записи параметров в эти файлы.
В этой статье описывается синтаксис файлов конфигурации и содержится информация о трех типах файлов конфигурации: компьютера, приложения и безопасности.
Формат файла конфигурации
Файлы конфигурации содержат элементы, которые являются логическими структурами данных, которые задают сведения о конфигурации. В файле конфигурации теги используются для пометки начала и конца элемента. Например, элемент <runtime>
состоит из <runtime>
дочерних элементов</runtime>
. Пустой элемент будет записан как <runtime/>
или <runtime></runtime>
.
Как и во всех XML-файлах, синтаксис в файлах конфигурации чувствителен к регистру.
Параметры конфигурации указываются с помощью предопределенных атрибутов, которые являются парами name/value в теге запуска элемента. В следующем примере указываются два атрибута (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) (например, политика привязки сборок, объекты удаленного взаимодействия и т. д.), а также параметры, которые может считывать приложение.
Имя и расположение файла конфигурации приложения зависят от узла приложения, который может быть одним из следующих вариантов:
Приложение, размещенное в исполняемом файле.
Эти приложения имеют два файла конфигурации: исходный файл конфигурации, который изменяется разработчиком во время разработки, и выходной файл, распределенный с приложением.
По умолчанию имя исходного файла конфигурации — App.config. При создании проекта .NET Framework в Visual Studio в проект автоматически добавляется файл App.config. Вы также можете добавить файл вручную, выбрав файл>новый файл. Поместите файл App.config в каталог проекта и задайте для свойства Copy To Output Directory значение Копировать всегда или Копировать, если новее.
Чтобы создать выходной файл конфигурации, развернутый с помощью приложения, Visual Studio копирует исходный файл конфигурации в каталог, где размещена скомпилированная сборка. Этот файл называется <>.exe.configyourappname. Например, приложение с именем myApp.exe имеет выходной файл конфигурации с именем myApp.exe.config.
В некоторых случаях Visual Studio может изменить выходной файл конфигурации. Дополнительные сведения см. в версиях перенаправления на уровне приложения.
ASP.NET хостируемое приложение.
Дополнительные сведения о файлах конфигурации ASP.NET см. в ASP.NET параметрах конфигурации.
Файлы конфигурации безопасности
Файлы конфигурации безопасности содержат сведения о иерархии групп кода и наборах разрешений, связанных с уровнем политики. Настоятельно рекомендуется использовать средство политики безопасности доступа к коду (Caspol.exe) для изменения политики безопасности, чтобы убедиться, что изменения политики не повреждают файлы конфигурации безопасности.
Заметка
Начиная с .NET Framework 4 файлы конфигурации безопасности присутствуют только в том случае, если политика безопасности была изменена.
Файлы конфигурации безопасности находятся в следующих расположениях:
Файл конфигурации корпоративной политики: %путь установки среды выполнения%\Config\Enterprisesec.config
Файл конфигурации политики компьютера: %путь установки среды выполнения%\Config\Security.config
Файл конфигурации политики пользователя: %USERPROFILE%\Application data\Microsoft\CLR security config\vxx.xx\Security.config